EJB 3.0(Public Draft)入門記 Java Persistence API Chapter6 その1
節ごとにきれいに進めようと思うとなかなか手がつけられないからやめーた。無理なくちょっとづつ進めます。
Chapter6 Entity Packaging
Chapter 6は永続ユニットのパッケージングについての説明です。
J2EEでは永続ユニットはpar(persistence archive file)ファイルにまとめられるそうです。earとかwarとかjarにつづくアーカイブのようです。J2EEってデプロイ面倒くさいけど、そのまえのパッケージングも面倒くさいですよね。
J2SEでの環境ではメタデータマッピングファイル(XMLファイル?)やjarファイルやclassファイルが使われるそうです。これらをまとめてparファイルにして使ってもいいみたいです。
Embeddable EJB 3.0ではpersistence.xmlは使われていますがparファイルは使われていないです。
6.1 Persistence Unit
永続ユニットとは論理的な集合で次のものを含みます。- 名前の付けられたEntityManagerとEntityManagerのプロバイダや設定情報。
- 永続ユニットに含まれるクラスの集合。これらは特定のEntityManagerに管理される。
- クラスとデータベースのマッピングを指定するマッピングメタデータ(アノテーションやXML)
簡単に言えば、1)EntityManagerの設定、 2)エンティティのクラス、3)マッピング情報ってことだと思います。
6.2 Persistence Archive
J2EEの環境ではparファイルは永続ユニットをパッケージングしたりデプロイしたりするのに使われます。parファイル一個につきひとつの永続ユニットだそうです。たしか、ひとつの永続ユニットには別のデータベースにマッピングされるエンティティを一緒に含めることができないので(うろおぼえ)、複数データベースを使うときは複数のparファイルを使うことになるのだと思います。ひとつのデータベースしか使わなくても論理的に複数に分けてもよさげです。application.xmlにparファイルを指定するときは次のようになるそうです。
<application> <module> <persistence>orderEntities.par</persistence> </module> </application>
複数のparファイルがearファイルに含まれてデプロイされます。アプリケーションで使われるparファイルはアプリケーション内のすべてのJ2EEコンポーネントからアクセス可能でなければいけないとのことです。
今日はこのへんで終わり。次回はpersistence.xmlについてです。