環境: Websphere 8.5、OpenJPA 2.0、DB2 z/OS
2 つのテーブルがあります。1 つは検証済みのデータを含み、もう 1 つはドラフト データ (ステージング テーブル) + ビューを含み、両方のテーブルからの情報を表示します。
主キーの競合を避けるために、ステージング テーブルの主キーとして負の値を使用することにしました。プレーン SQL で動作していましたが、Java コードでステージング テーブルのジェネレーターを定義しようとすると、私のアプローチは失敗しました。
負のキーのジェネレーターは次のように定義されました。
CREATE SEQUENCE X AS INTEGER START WITH -1 INCREMENT BY -1
MINVALUE -999999 MAXVALUE 0
エンティティ側:
@Id
@SequenceGenerator(name="X", sequenceName="X")
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="X")
@Column(name = "ID")`
最初の要素は (値 -1 で) 正常に作成されましたが、2 番目の要素の挿入は次のエラーで失敗しました:
ID 列またはシーケンスの値の範囲を使い果たしました。SQLCODE=-359、SQLSTATE=23522
の定義を手伝ってもらえます@SequenceGenerator
か? Open JPA 2.0で可能ですか? シーケンス定義が間違っている可能性があります (MINVALUE/MAXVALUE)