繁体   English   中英

MySql + Hibernate中未使用更改的AutoIncrement ID

[英]Altered AutoIncrement Id not being used in MySql + Hibernate

我使用Hibernate和mySql。

我已将数据库脚本定义如下:

CREATE TABLE `Foo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `version` int(11) NOT NULL DEFAULT '0',
  `data` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
);
ALTER TABLE Foo AUTO_INCREMENT = 34324;

这是我的休眠映射:

<class name="org.xyz.Foo" table="Foo">
    <cache usage="read-write"/>
    <id name="id" column="id">
         <generator class="increment"/>
    </id>
    <version name="version" column="version"/>
    <property name="data" column="data"/>
</class>

问题:插入内容不符合设置为34324的自动增量ID。 插入的ID从1开始,而不是我预期的34324。 我自己没有设置ID。

根据您的休眠映射,首选生成策略是increment 这意味着Hibernate可以创造价值。 但是根据DDL列应该是AUTO_INCREMENT,这意味着值是由MySQL分配的。

如果您要使用AUTO_INCREMENT,则解决方案是使用以下Hibernate映射:

<generator class="identity"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM