2012-04-12 161 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 2012-04-12 15:50:06

回答

2

我不認爲這篇博文有很多意義。

我甚至不確定有沒有可能在超類中定義Id,除非它是@MappedSuperclass。

它似乎擔心用完了ID。如果你可以用n個子類用完,那麼你也將用完一堂課,只要你多花n倍時間,時間不會太長。但只要使用long not和int,耗盡id就不是問題。

一個int id將持續大約100年,每秒插入一次。仍然不是「很快」,但是可能會有更高的吞吐量用完。

很長一段時間會持續約3億年,每毫秒一次。不是很快「。

見, http://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#Running_Out_of_Numbers

+0

同意不會耗盡'長'ID,但我更關心併發性:) – 2012-04-12 12:49:45