Hibernate postgres автоинкремент после ручной вставки - PullRequest
0 голосов
/ 20 июня 2019

У меня есть базовое пружинное приложение с простой сущностью.У меня есть скрипт flyway, чтобы создать таблицу postgres и добавить некоторые начальные данные.

create table user (
  id serial primary key,
  username varchar  (50) unique not null,
  password varchar  (150) not null
);

insert into user (id, username, password) values (1, 'name', 'somehashed');
insert into etc...

Я настроил свою сущность следующим образом:

@Entity
@Table(name = "user")
public class User {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, columnDefinition = "serial")
private Long id;
...
other fields, constructor, getters setters etc...

Моя проблема в том,что при запуске базовые сущности сохраняются с помощью flyway, но при попытке сохранить новую сущность hibernate пытается присвоить ей ID 1, хотя он уже присвоен другой.

Я пробовалтакже со стратегией SEQUENCE проблема не была решена.

1 Ответ

0 голосов
/ 20 июня 2019

Хорошо, проблема была в том, что я явно указал идентификатор, который я хотел дать во время вставки скрипта, и я не позволил postgres творить чудеса ...

...