Especially when working with JPA v1.0, try not to use id inheritance.JPA 2は
@Idプロパティを継承しJPA 2との違いは何ですか?特に、strategy=GenerationType.IDENTITY
を使用すると、この例のStapler
とChair
は同じIDを持つことができますか?それとも、JPA実装やデータベースドライバに依存していますか?
Especially when working with JPA v1.0, try not to use id inheritance.JPA 2は
@Idプロパティを継承しJPA 2との違いは何ですか?特に、strategy=GenerationType.IDENTITY
を使用すると、この例のStapler
とChair
は同じIDを持つことができますか?それとも、JPA実装やデータベースドライバに依存していますか?
私はブログ投稿が大変だとは思わない。
@MappedSuperclassでない限り、スーパークラスでIdを定義できないかどうかはわかりません。
IDの不足が心配そうです。もしあなたがn個のサブクラスでIDを使い果たしてしまった場合は、1つのクラスを使い果たして、ちょうどn倍の時間を取るだけです。しかし、長さと長さを使用しない限り、IDの不足は問題ではありません。
int idは1秒あたり1回の挿入で約100年続くでしょう。まだ "すぐ"ではありませんが、より高いスループットが尽きる可能性があります。
長くなると1ミリ秒ごとに約3億年が続きます。あまり「すぐに」ではありません。
を参照してください、 http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Running_Out_of_Numbers
「long」IDが不足しているとは限りませんが、私は並行性についてより心配しています:) –
何もこのエリアにJPA2に変更されていません。あなたは継承ツリーのルートクラスであなたのIDを常に定義します。 – DataNucleus