在Hibernate中更改自动增量的值

时间:2012-10-14 12:23:03

标签: hibernate auto-increment

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

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

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

如果您需要更多信息,请告诉我们。任何帮助将受到高度赞赏。 (我用Google搜索了,但到目前为止没有找到任何具体的答案)

提前致谢。

1 个答案:

答案 0 :(得分:0)

最佳首选解决方案是在数据库中定义sequence。在Hibernate映射中使用sequence generator。不要手动填充Id属性。让hibernate处理它。它永远不会给你独特的约束。

此外,我尝试定义custom generator并编写小逻辑以获取要使用的唯一ID。