【发布时间】:2011-05-16 09:09:42
【问题描述】:
我已将 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;
}
我看到这个配置是hibernate已经在持久化时分配了id值> 3000,而对已用序列的查询显示如下:
database=# select last_value from entity_id_seq;
last_value
------------
69
(1 行)
问题:
有什么不对吗?
hibernate 是否应该与序列表同步?
如果没有,最后生成的id存放在哪里?
谢谢。
【问题讨论】:
标签: java hibernate postgresql orm hibernate-mapping