В PostgreSQL я нашел 2 способа сделать автоинкремент hbm2ddl.auto=create
1
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
protected Integer id;
PostgreSQL генерирует PK как id serial not null
, то есть уникальную последовательность для каждой таблицы
2
@Id
@Column(name = "id", unique = true, nullable = false, columnDefinition = "integer default nextval('hibernate_sequence')")
@GeneratedValue(strategy = GenerationType.SEQUENCE)
protected Integer id;
В этом случае с ФК произошло нечто странное:
create table meals (
id integer default nextval('hibernate_sequence') not null,
calories int4 not null,
date_time timestamp not null,
description varchar(255) not null,
user_id integer default nextval('hibernate_sequence') not null,
primary key (id)
)
В h2 автогенератор и автоинкремент работают нормально.