我想问一些建议,为什么我的<generator class="identity" />
生成表中的id不像上次插入的那样+ 1但是例如最后一个插入ID是5,而当保存记录时,新的Id就是例如7,因此跳过ID值6
(我需要使用身份而不是增加类,因为我的mySql数据库具有此“身份”类的优势)
因为在我的情况下我需要相同的主键和外键ID值,必须是等号,但在这种情况下我得到主键7和外键也会生成但不会按最后一个ID递增,
这两个类都有Hibernate映射,这个<generator class="identity" />
我必须使用什么,以便通过“身份”获得新记录的增加ID?
答案 0 :(得分:2)
您必须使用“AUTO_INCREMENT”创建包含主键的表,例如:
CREATE TABLE person (
id BIGINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
)
然后你的GenerationType.IDENTITY必须完成这项工作。