JavaOne 2008にて、5月7日午後(現地時間)に開催されたセッション「Java Persistence API 2.0(Linda DeMichiel, Sun Microsystems)」の報告を行う。
Java Persistence API(以降、JPA)は現在EJB3.0の一部としてJSRで仕様が規定されていますが、JPA 2.0ではEJBと別れ、JSR-317として2007年の秋に立ち上がった。
ところで、セッションの題名は「Java Persistence API 2.0」となっているが、JSRの名称は「Java Persistence 2.0」となっている。しかし、Early Draftのタイトルは「Java Persistence API 2.0」となっていた。
昨年のJavaOneの時点ではJSRが立ち上がる前で、JSRの提案として発表されている。以下の記事で私が詳細を書いている。
Java Persistence 2.0セッション報告(参考記事)
Java Persistence2.0 詳細レポート No.1(参考記事)
Java Persistence2.0 詳細レポート No.2(参考記事)
Java Persistence2.0 詳細レポート No.3(参考記事)
そして現在JSRに提案されている機能は以下の通りである。
- More flexible modeling capabilities
- Expanded object/relational mapping functionality
- Additions to Java Persistence query language
- Criteria query API
- Standardization of configuration hints
- Additional contracts for handling detached entities
- Additional contracts for extended persistence contexts
- Support for validation
(資料原文より引用)
この提案は、昨年のJSRの提案と少し言い回しが変わっているだけで、ほぼ同じ項目になっている。しかし、実際の内容は昨年と変わっている点も多く、その詳細が説明された。
例えば「More flexible modeling and mapping」の内容として、Collectionの利用時の@ElementCollectionや、mappingをカスタマイズするための@CollectionTable、@AttributeOverride、@AssociationOverrideなどのアノテーションが説明された。
昨年よりも具体的な内容になっていますので、詳細は後日ご報告する。
そして、現在の状況と今後のロードマップが次の通り説明された。
(資料原文より引用)Early Draft Reviewの注目点:
- O/Rマッピング
- モデリング
- ランタイムAPI
Early Draft は以下URLよりダウンロード可能:
http://jcp.org/en/jsr/detail?id=317Early Draft feedbackは以下へお願いしたい:
jsr-317-edr-feedback at sun.com次のドラフトでの注目点:
Java EE 6 プラットフォームでの最終リリース(来年初め)
すでに、O/R mapping、Modeling、Runtime APIsについてはEarly Draftでフォーカスされ記述されているので、ぜひ興味のある方はEarly Draftを見てみてほしい。