【问题标题】:Hibernate: Table generator inserting negative primary keys in tableHibernate:表生成器在表中插入负主键
【发布时间】:2016-01-15 08:15:13
【问题描述】:

我正在使用表生成器策略来生成主键。最近我升级到 Hibernate 5,我遇到了主键生成负值的问题。 数据库: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;

有人可以帮我吗?

【问题讨论】:

  • 你试过 allocationSize=1 吗?
  • 我做了,没用。

标签: hibernate primary-key hibernate-5.x id-generation


【解决方案1】:

检查数据库中的GEN_VALUE是否小于实体类中的initialValue属性会产生这个问题,例如:

如果列值 GEN_VALUE 为 0,initialValue 为 1,则生成负值。要解决此问题,请将 initialValue 与 GEN_VALUE 相等。

问候,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多