2012-04-12 4 views
0

Especially when working with JPA v1.0, try not to use id inheritance.JPA 2は

@Idプロパティを継承しJPA 2との違いは何ですか?特に、strategy=GenerationType.IDENTITYを使用すると、この例のStaplerChairは同じIDを持つことができますか?それとも、JPA実装やデータベースドライバに依存していますか?

+1

何もこのエリアにJPA2に変更されていません。あなたは継承ツリーのルートクラスであなたのIDを常に定義します。 – DataNucleus

答えて

2

私はブログ投稿が大変だとは思わない。

@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

+0

「long」IDが不足しているとは限りませんが、私は並行性についてより心配しています:) –

関連する問題