Я разделил свою таблицу в Postgres. Итак, теперь есть 2 таблицы:
- Пользователи базовой таблицы без первичного ключа, но с использованием генератора последовательности для столбца идентификатора: nextval('users_id_seq'::regclass)
Дочерняя таблица, наследующая пользователей
CREATE TABLE users_part_2019_01 ( CHECK (createdon >= '2019-01-01 00:00:00' AND createdon < '2019-02-01 00:00:00') ) INHERITS (users); ALTER TABLE users_part_2019_01 ADD CONSTRAINT users1_pkey PRIMARY KEY (id);
Я вставляю данные в таблицу пользователей, используя jpa. В модели данных, которую я использовал:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
Получается следующая ошибка:
«org.springframework.orm.jpa.JpaSystemException: база данных не вернула изначально сгенерированное значение идентификатора; вложенным исключением является org.hibernate.HibernateException: база данных не вернула изначально сгенерированное значение идентификатора в org.springframework.orm.jpa.vendor.HibernateJpaDialect. convertHibernateAccessException(HibernateJpaDialect.java:333) в org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244)"
Он работает, как и ожидалось, независимо от postgres.