您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

休眠使用PostgreSQL序列不会影响序列表

休眠使用PostgreSQL序列不会影响序列表

我有同样的问题。它与Hibernate的id分配策略有关。在不选择 GenerationType.SEQUENCE的情况下 ,Hibernate使用HiLo策略,认情况下以50个块分配ID。因此,您可以像这样显式设置 allocationSize 值:

@Id 
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
    return this.id;
}

不过,我也听到过这样的观点,即在 分配大小= 1的 情况下使用HiLo策略不是一个好习惯。有些人建议在必须处理数据库管理的序列时改用GenerationType.AUTO

我确实最终使用了分配大小= 1,并且事情似乎按我现在期望的那样工作。我的应用程序使得我真的不需要ID块,所以YMMV

SQLServer 2022/1/1 18:13:50 有704人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶