0

自動インクリメント値として主キーを持つエンティティーをマップするように OpenJPA orm.xml をセットアップしました。私は使用しています

    <id name="objectId">
      <column name="ObjectId"/>
      <generated-value strategy="IDENTITY"/>
    </id>

属性であり、すべてうまく機能します。

ただし、場合によっては、特定の ObjectId (使用されてからレコードが削除されたもの) を設定したいと考えています。これは可能ですか?このために新しいエンティティを作成する必要がありますか?

前もって感謝します!

4

1 に答える 1

0

このために新しいエンティティを作成する必要がありますか?

いいえ、それはひどいハックです。もちろん、とにかくひどいハックが必要ですが、私はむしろ小さなネイティブクエリを使用したいと思います:

  • を使用して、ネイティブ クエリで (できるだけ少ないデータで) オブジェクトを作成しますEntityManager.createNativeQuery()
  • 次に、エンティティを id でロードしEntityManager.find()ます。
  • 残りのデータを追加します。
于 2010-12-21T21:25:02.183 に答える