【问题标题】:hibernate generator increment conflict with table auto increment休眠生成器增量与表自动增量冲突
【发布时间】:2011-10-10 05:12:59
【问题描述】:

我在 hbm 文件中将生成器设置为“增量”,并且我还将 auto_increment 东西放入数据库表中。 此标准显示问题 ....

这两者有冲突吗? ?

【问题讨论】:

    标签: hibernate generator


    【解决方案1】:

    是的,它们是冲突的,没有意义..

    当使用休眠内置生成器“增量”时,休眠通过从启动时的最大主键值计数来生成标识符,在多 JVM 中不安全,并且使用数据库 AUTO_INCREMENT 它是生成唯一标识的数据库新行。

    在 mySQL DB 中,如果使用 AUTO_INCREMENT,您应该在映射中使用标识,以让数据库安全地生成唯一标识。

    来自休眠文档

    增量

    生成只有唯一的 long、short 或 int 类型的标识符 当没有其他进程将数据插入同一个表时。不要 在集群中使用。

    身份

    支持 DB2、MySQL、MS SQL Server、Sybase 和 超音速 SQL。返回的标识符是 long、short 或 int 类型。

    更多信息
    Hibernate Doc section 5.1.4.1. Generator
    My sql AUTO_INCREMENT documentation

    【讨论】:

      猜你喜欢
      • 2011-03-25
      • 2016-09-01
      • 2011-01-01
      • 2015-06-08
      • 2014-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多