Postgres Partitioning не работает с hibernate, если id является bigserial - PullRequest
0 голосов
/ 30 января 2019

Я разделил свой стол в Postgres.Итак, теперь есть 2 таблицы:

  1. Пользователи базовой таблицы, без первичного ключа, но с использованием генератора последовательности для столбца id: nextval ('users_id_seq' :: regclass)
  2. Дочерняя таблица, наследующая пользователей

    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.springorm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible (HibernateJpaDialect.java:244) "

Работает, как и ожидалось, независимо от postgres.

1 Ответ

0 голосов
/ 06 февраля 2019

Получил решение.Вместо GenerationType.IDENTITY работает GenerationType.AUTO

...