0

環境: 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)

4

1 に答える 1