2010-03-12 29 views

回答

40

在接受的答案不說的二級緩存任何提到的鏈接,所以我決定後的快速列表總結「什麼在JPA 2.0(JSR-317)是新」:

  • 標準屬性對於persistence.xml - 例如javax.persistence.jdbc.driver等,而不是持久性提供者特定的屬性。
  • 混合訪問類型 - PROPERTYFIELD訪問類型可以混合在一個層次結構中,並組合在一個類中。
  • 派生標識符 - 可以從關係派生標識符。
  • @ElementCollection,@OrderColumn - 爲了更好的收集支持。
  • 單向@OneToMany/@OneToOne - 對於擴展映射。
  • 共享高速緩存API - 第二級緩存在JPA中,是啊
  • 鎖定 - 支持悲觀鎖定添加。
  • 增強型JP QL - 時間戳文字,非多態查詢,IN表達式中的集合參數,有序列表索引,CASE語句。
  • 表達和標準API - QueryBuilderCriteriaQuery類型安全的查詢的程序建設。
  • API添加 - 上EntityManager附加API(支持的屬性,detach方法等)和Query(查詢提示)。
  • 驗證 - 如果提供者存在,則透明支持Bean驗證(JSR-303)。 (驗證是可選的,JPA 2.0規範不需要Bean驗證實現)。
+1

不錯的概述。還有一些1:1的連接表。但是我認爲你已經在'@ OneToOne'中覆蓋了它。 Bean Validation是JSR-303的一部分(JPA2本身就是JSR-317)。 – BalusC 2010-03-14 05:05:43

+0

@BalusC謝謝。你說得對,關於驗證的措詞令人困惑。 JPA 2.0中的新功能是對Bean驗證的透明支持,而非Bean驗證本身。我希望它更清楚。 – 2010-03-14 06:18:47

3

關於這個問題,這個link可能不是100%準確的,但它是一個非常好的信息來源。