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;
_
Hibernateは次のクエリを実行します。
select nextval ('patregn_seq')
これは5367になります。テーブルのidフィールドの最後の値は5358です。
そして、私はこれを手に入れますERROR: duplicate key value violates unique constraint "patientregistration_pkey" [Java] Detail: Key (id)=(5318) already exists.
この質問は this および this に似ていると確信していますが、そこで与えられた解決策が私には機能しないため、私は尋ねることを余儀なくされています:
追加した
_<property value="true" name="hibernate.id.new_generator_mappings"/>
_
私のpersistence.xmlに、しかし役に立たない。どんな助けでも大歓迎です。
実際、新しい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