我已经配置了Hibernate,使用注解来使用PostgreSQL序列生成主键的值,配置如下:
@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;
}
根据这个配置,我发现当持久化时Hibernate已经分配了id值大于3000的值,而使用序列查询显示如下:
database=# select last_value from entity_id_seq;
last_value
------------
69
(1 行)
问题:
是否有任何错误?
Hibernate 是否应该与序列表同步?
如果不是,它在哪里存储最后生成的 ID?
谢谢。