私は、SPRING DATA JPA PagingAndSortingRepositoryを使用して、ORACLEテーブルに対してCRUD操作を実行しています。この例には自動生成IDフィールドがあります。 myrepo.save()を実行すると、投稿された値が保存されますが、IDフィールドが2つ増えたことに気付きました。例えば、jpa pagingonsortingrepository saveが自動生成値を1つスキップします
- は私が保存して自動GEN IDが64になってしまった、例
- のために、私は2番目のを保存しないと、ID値が、私はそれからやる66
- の値を持つことになりますを行います2回目のセーブおよびID値は、値が68
などとなります。私は割り当てサイズを
@SequenceGenerator(name="seq", initialValue=1, allocationSize=1)
のように追加しようとしましたが、これは助けになりませんでした。私はまだIDが2ずつ増加するのを見ています。
セーブリクエストはオブジェクトを返します。だから私は郵便配達で問題をデバッグするとき、返されたオブジェクトはIDのインクリメントが1であるようですが、DBテーブルで終わるのは郵便配達人の表示値に1を加えたものです。
この奇妙な振る舞いが前に見た。
あなたの助けをありがとう
データベースに保存するオブジェクトの数。複数のエンティティに同じシーケンスを使用しているようです。 – kimy82
こんにちはkimy82;私は一度に1つのオブジェクトを保存しています。 ORACLEテーブルは、その特定のテーブルのTriggerと共に作成された独自のシーケンスを持ち、この1つのエンティティにマップされています。 – jscriptor