Hibernate javax.persistence.SequenceGenerator.allocationSize()プロパティを使用する際に問題があります。 1に設定すると、大量のレコードをデータベースに挿入するときにパフォーマンスの問題が発生します。それ以外の場合、デフォルト(50)またはそれ以上の値に設定すると、指定した識別子を持つエンティティがalredyであるという例外が発生します。javax.persistence.SequenceGenerator.allocationSize()はINCREMENT BYと一致する必要がありますか?
大きな問題は、多くの開発者が共有データベースを使用しているため、生成された識別子が同期化されない可能性があることです。
一方、私はOracleシーケンスが「INCREMENT BY 1」を使用して作成されていることに気付きました。これに応じてallocationSizeを設定して問題を解決できますか?
私はWildFly 10.1(Hibernateバージョン5.0.10)とOracle 12c(12.2.0.1)を使用しています。
ご協力いただきありがとうございます。
はい。それらが同じでない場合は、この問題が発生します。インクリメントbyはシーケンスのデータベース設定ですが、allocationSizeプロパティはJPAの値であり、より多くのシーケンスに戻る前に使用できる数値の数を示します。 – Chris