2012-10-14 53 views
0

我开发了使用hsqldb和JPA/Hibernate的应用程序。根据客户的请求,他们希望我们做一些基本的数据输入(通过文件上传),以便他们在开始申请时有数据到日期。我们也这样做了。在休眠状态下更改自动增量的值

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

因此,我已将AutoValue字段设置为Auto。 (@GeneratedValue(strategy = GenerationType.AUTO))。

如果您需要更多信息,请让我知道。任何帮助将不胜感激。 (我已经使用Google搜索,但到目前为止没有找到任何具体的答案)

在此先感谢。

+0

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

回答

0

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

你也是我的尝试,定义一个custom generator并写小逻辑来获得独特的ID使用。