Hibernate 休眠生成器增量与表自动增量冲突
我在hbm文件中将generator设置为“increment”,并且我还将auto_increment的东西放在数据库表中。 这是一个有争议的问题Hibernate 休眠生成器增量与表自动增量冲突,hibernate,generator,Hibernate,Generator,我在hbm文件中将generator设置为“increment”,并且我还将auto_increment的东西放在数据库表中。 这是一个有争议的问题 这两件事是矛盾的 是的,它们相互冲突,毫无意义 当使用hibernate内置生成器“增量”时,是hibernate通过从启动时的最大主键值开始计数来生成标识符,在多JVM中不安全,并且使用数据库自动增量,是数据库为新行生成唯一标识 在mySQL数据库中,如果使用AUTO_INCREMENT,那么应该在映射中使用identity,让数据库安全地生成唯
这两件事是矛盾的 是的,它们相互冲突,毫无意义 当使用hibernate内置生成器“增量”时,是hibernate通过从启动时的最大主键值开始计数来生成标识符,在多JVM中不安全,并且使用数据库自动增量,是数据库为新行生成唯一标识 在mySQL数据库中,如果使用AUTO_INCREMENT,那么应该在映射中使用identity,让数据库安全地生成唯一的identity 来自hibernate文档 增量 生成仅唯一的long、short或int类型的标识符 当没有其他进程将数据插入同一个表时。不要 在集群中使用 身份 支持DB2、MySQL、MS SQL Server、Sybase和 HypersonicSQL。返回的标识符的类型为long、short或int 更多信息