Hibernate在hbm文件中自动生成<generator class =“increment”>

时间:2017-04-26 10:21:24

标签: java xml hibernate hibernate-mapping

我正在使用JSF 2.2和Hibernate 4.3.11版本构建Web应用程序。

我使用Eclipse Hibernate代码生成工具完美地生成了我的POJO类并映射了hbm.xml个文件。

但是,在hbm.xml文件中,主键的默认生成器类是&#34;已分配&#34;这要求用户自己设置id值。

另一方面,我的目标是使用<generator class="increment" />

通过Hibernate逐步设置主键序列

有没有办法自动生成hbm.xml&#34;增量&#34;值?

实际上无法更改&#34;已分配&#34;的所有+100 hbm.xml个文件到&#34;增加&#34;每次代码生成后。

1 个答案:

答案 0 :(得分:0)

Hibernate可以使用ms-sql中的@@ identity或oracle中的seq.nextval等数据库功能。 但是,如果你必须使用hibernate增量,必须知道它没用。因为在插入表中的每个记录之前,hibernate必须在你的表中找到max id。这意味着hibernate执行“select table(id)from table”。你可以改变它。 在并发进程中,你已经死锁了一个uniqe constrante错误。

关心a.ayati