我使用hsqldb和JPA / Hibernate开发了应用程序。根据客户的要求,他们希望我们做一些基本的数据输入(通过文件上传),这样他们就可以在启动应用程序之前获得数据。我们也这样做了。
现在的问题是,当我在客户端安装应用程序时,他们无法添加任何主数据(既不是事务数据)。我发现在添加数据hibernate时会给出org.hibernate.exception.ConstraintViolationException,这是因为它开始从1开始插入值。
所以,我已将GeneratorValue字段设置为Auto。 (@GeneratedValue(strategy = GenerationType.AUTO))。
如果您需要更多信息,请告诉我们。任何帮助将受到高度赞赏。 (我用Google搜索了,但到目前为止没有找到任何具体的答案)
提前致谢。
答案 0 :(得分:0)
最佳首选解决方案是在数据库中定义sequence
。在Hibernate映射中使用sequence generator。不要手动填充Id
属性。让hibernate处理它。它永远不会给你独特的约束。
此外,我尝试定义custom generator
并编写小逻辑以获取要使用的唯一ID。