![](/img/trans.png)
[英]Use a autoincrement with hibernate and Mysql that is not an Id so I can reset it with a trigger
[英]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.