我已将Hibernate配置为使用PostgreSQL序列(通过注释)为主键id列生成值,如下所示:
@Id
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
return this.id;
}
Run Code Online (Sandbox Code Playgroud)
我在这个配置中看到的是,hibernate已经在持久化时分配了id值> 3000,而对使用过的序列的查询显示如下:
database=# select last_value from entity_id_seq;
last_value
------------
69
Run Code Online (Sandbox Code Playgroud)
(1排)
问题:
有什么不对吗?
hibernate应该与序列表同步吗?
如果没有,它在哪里存储最后生成的ID?
谢谢.