次の要件を満たすHibernateIDジェネレーターを使用することにしました。-ドメインが異なるアプリケーション(異なるJVM)からアクセスされる場合の安全なID生成-ID間隔を使用します(新しいIDが発生するたびにデータベースにクエリを実行しないでください)必要)
いくつかの調査の後、私は2つの休止状態の拡張識別子ジェネレーターの1つを選択しました。
org.hibernate.id.enhanced.TableGenerator
問題は、このアルゴリズムが利用可能な次の値ではなく、利用可能な次の間隔の終わりをデータベースに保持することです。したがって、increment_size 10のIDジェネレーターがあるとすると、IDを要求すると、間隔1-を受け取ります。 10ですが、データベースには値11ではなく21が格納されています。この動作では、特定のテーブルにマップするすべてのクラスで、increment_sizeを同じに保つ必要があります。なぜこの動作をするのですか?これを修正する方法はありますか?