休眠:表生成器在表中插入负主键 [英] Hibernate: Table generator inserting negative primary keys in table
问题描述
我正在使用表生成器策略来生成主键.最近,我升级到了Hibernate 5,并且遇到主键生成负值的问题.数据库:PostgreSQL 9.3,Hibernate 5.0.2
I am using Table Generator strategy for generating primary keys. Recently I upgraded to Hibernate 5 and i am getting issue of primary keys getting generated negative values. Database: PostgreSQL 9.3, Hibernate 5.0.2
这是我的注释的样子.
@Id
@TableGenerator(name = "EMP_ID",
table = "ID_GENERATOR",
pkColumnName = "GEN_KEY",
valueColumnName = "GEN_VALUE",
pkColumnValue = "EMP_ID",
allocationSize = 10,
initialValue = 1)
@GeneratedValue(strategy = GenerationType.TABLE, generator = "EMP_ID")
@Column(name = "EMP_ID", unique = true, nullable = false)
private long empId;
有人可以在这里帮助我吗?
Can someone please help me out here?
推荐答案
检查数据库中的GEN_VALUE是否小于实体类中的initialValue属性,则产生此问题,例如:
Check if GEN_VALUE in database is less than initialValue property in the entity class generate this issue, for example:
如果列值GEN_VALUE为0且initialValue为1,则生成负值.要解决此问题,请将initialValue与GEN_VALUE相等.
If the column value GEN_VALUE is 0 and initialValue is 1, it generates negative value. To Solve the issue, equal initialValue with GEN_VALUE.
此致
这篇关于休眠:表生成器在表中插入负主键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!