Spring data jpa с гибернацией не может найти столбец в последовательности

#java #spring #hibernate #sequence

#java #spring #гибернация #последовательность

Вопрос:

Итак, я использую базу данных PostgreSQL в моем проекте Spring MVC, и я создал таблицу с последовательностью для генерации первичного ключа. И у меня проблема с тем, что hibernate получает следующее значение для вставки строк. Вот как выглядит моя сущность:

 @Id 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "employee_s")
@SequenceGenerator(name = "employee_s", sequenceName = "employee_s", initialValue = 1, allocationSize = 1)
@Column(name = "id_pk")
private Long id;
  

И я получаю ошибку при вставке таких данных:

 org.postgresql.util.PSQLException: ERROR: Column "next_val" does not exist
  

Ну, этот столбец не существует в последовательности, но почему даже hibernate ищет этот столбец?

Но когда я изменил порядок генерации, это сработало:

 @Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_pk")
private Long id;
  

Как я могу исправить это, чтобы использовать разбросанность последовательности, или я должен просто придерживаться IDENTITY, потому что это работает? PostgreSQL использует стратегии, поэтому я хотел их опробовать