hibernate 5 sequencegenerator没有给出正确的值

Tho*_*ham 9 hibernate sequence hibernate-5.x

迁移到Hibernate 5.2.7后,我似乎得到了id字段的错误值.

我的代码:

@Id @SearchableId
@GeneratedValue(strategy=GenerationType.AUTO, generator="hms_seq_gen")
@SequenceGenerator(name="hms_seq_gen", sequenceName="patregn_seq")
protected Integer ID;
Run Code Online (Sandbox Code Playgroud)

Hibernate触发此查询:

select nextval ('patregn_seq')
它给出了5367.表中id字段的最后一个值是5358.

我明白了
ERROR: duplicate key value violates unique constraint "patientregistration_pkey" [java] Detail: Key (id)=(5318) already exists.

我相信这个问题类似于这个,但我不得不问,因为给出的解决方案有没有为我工作:

我补充道

<property value="true" name="hibernate.id.new_generator_mappings"/>

到我的persistence.xml,但无济于事.任何帮助将不胜感激.

idm*_*iev 17

实际上当你迁移到新的Hibernate版本5.2.7时,hibernate.id.new_generator_mappings默认为true.

为了向后兼容,您应该将此标志更改为false.

有关更多信息,请在用户指南中搜索new_generator_mappings: - http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html


归档时间:

查看次数:

7336 次

最近记录:

6 年,7 月 前