【问题标题】:Change the value of autoincrement in Hibernate在 Hibernate 中更改 autoincrement 的值
【发布时间】:2012-10-04 15:09:48
【问题描述】:

我使用 hsqldb 和 JPA/Hibernate 开发了应用程序。根据客户的要求,他们希望我们做一些基本的数据输入(通过文件上传),以便他们在启动应用程序时拥有数据。我们也这样做了。

现在的问题是,当我在客户端安装应用程序时,他们无法添加任何主数据(交易数据也没有)。我发现在添加数据时,hibernate 会给出 org.hibernate.exception.ConstraintViolationException,这是因为它从 1 开始插入值。

所以,我已将 GeneratorValue 字段设置为 Auto。 (@GeneratedValue(strategy = GenerationType.AUTO))。

如果您需要更多信息,请告诉我。任何帮助将不胜感激。 (我已经google了,但到目前为止没有找到任何具体的答案)

提前致谢。

【问题讨论】:

  • 您是否将数据库引擎中的列标记为自动增量?

标签: hibernate auto-increment


【解决方案1】:

最好的解决方案是在您的数据库中定义一个sequence。在 Hibernate 映射中使用sequence generator。不要手动填充Id 属性。让休眠来处理它。它永远不会给你唯一的约束。

我也尝试定义custom generator 并编写小逻辑来获取要使用的唯一ID。

【讨论】:

    猜你喜欢
    • 2012-07-15
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 2012-02-08
    • 2010-10-12
    • 2013-12-10
    • 2019-03-17
    相关资源
    最近更新 更多