【问题标题】:Hibernate auto generated <generator class="increment" /> in hbm filesHibernate 在 hbm 文件中自动生成 <generator class="increment" />
【发布时间】:2017-09-23 16:36:49
【问题描述】:

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

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

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

另一方面,我的目标是通过 Hibernate 使用 &lt;generator class="increment" /&gt; 增量设置主键序列

有什么方法可以自动生成带有“增量”值的hbm.xml

实际上不可能在每次代码生成后将所有 +100 hbm.xml 文件从“已分配”更改为“增量”。

【问题讨论】:

    标签: java xml hibernate hibernate-mapping


    【解决方案1】:

    Hibernate 可以使用数据库功能,例如 ms-sql 中的 @@identity 或 oracle 中的 seq.nextval。 但是,如果你必须使用休眠增量,必须知道那是没有用的。因为在向表中插入每条记录之前,hibernate 必须在您的表中找到最大 id。这意味着 hibernate 执行“从表中选择 max(id)”。你可以改变它。 在并发进程中,你死锁了一个独特的常量错误。

    问候 a.ayati

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多