0

ORM ツールとして OpenJPA を使用しています。

エンティティの永続化中に問題に直面しています。完全に機能するID生成にシーケンスジェネレーターを使用しました。しかし、それが問題を引き起こすシナリオがあります。

テーブルに既にいくつかのエンティティがあるとします。ここで、アプリを新たにデプロイし、新しいエンティティを永続化します。JPA は ID を生成しますが、同じ ID を持つエンティティがテーブルに既に存在する可能性があります。これにより、永続性エラーが発生します。だから私は、JPAがすでにテーブルにある最高のIDよりも大きな値を生成することを望んでいます。

これはどのように行うことができますか?

4

1 に答える 1

0

シーケンスの使用を開始する前に、現在の値を現在の最大 ID よりも大きくなるように変更してください。たとえば、これはOracle で行う方法です。データベース プロバイダのドキュメントを参照してください。

于 2016-02-12T17:17:22.400 に答える