永続ユニットを開発するには、persistence.xml、複数の永続クラス(エンティティクラスなど)およびO/Rマッピングファイルを定義します。persistence.xmlには、永続ユニットで使用するデータソース、明示的に宣言する永続クラスやO/Rマッピングファイルを記述します。
O/Rマッピングファイルは、アノテーションを使用しない永続クラスの情報を記述するか、アノテーションでJavaソースに記述した情報を上書きするために使用します。
ポイント
プロジェクト作成時に作成されるorm.xmlは、persistence.xmlに明示的に宣言する必要が無いO/Rマッピングファイルです。
persistence.xmlでの永続クラスの宣言もアノテーションを用いた開発を行っていれば、異なるJARファイルにクラスが格納されている場合などを除いて通常は必要ありません。
上記のような仕様のため、永続ユニットの開発はアノテーションを利用した永続クラスの作成とpersistence.xmlやO/Rマッピングファイルの編集になります。
アノテーションを利用した永続クラスの作成方法については、"4.3.3 エンティティクラスを作成する"を参照してください。
persistence.xmlの編集
persistence.xmlを編集するには、永続化 XMLエディタを用います。
永続化 XMLエディタには、[一般]、[接続]、[プロパティ]タブと[ソース]タブがあります。[ソース]タブではXMLファイルを直接編集でき、コンテンツアシストでタグの追加が行えます。
[一般]、[接続]、[プロパティ]タブでは、XMLの内容をGUIで編集できます。
例えば、永続ユニットで使用するデータソースを宣言するためには、以下のようにpersistence.xmlを記述します。
persistence.xmlの使用例
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="JPASample">
<jta-data-source>jdbc/Symfo</jta-data-source>
</persistence-unit>
</persistence> |
O/Rマッピングファイルの編集
O/Rマッピングファイルの編集は、XMLエディタで行います。
また、XMLエディタで開いている状態で、[JPA構造]ビューでエンティティマッピングを選択すると、[JPA詳細]ビューでいくつかの要素について設定することができます。設定の詳細は、以下を参考にしてください。
パッケージ
XMLファイルに記述されているマッピング情報で、完全修飾名で記述されていないクラスに適用されるパッケージを指定します。
スキーマ、カタログ
デフォルトで使用されるスキーマやカタログを指定します。
アクセス
永続プロバイダがEntityにフィールドもしくはプロパティのどちらでアクセスするかのデフォルトを指定します。
ポイント
永続ユニット配下にある要素は、アノテーションで記述されている永続クラスに適用されます。それ以外の項目は、O/Rマッピングファイル(orm.xml)に記述されている永続クラスに適用されます。
JPAアプリケーションとしての検証
JPAアプリケーションバリデータによって、永続ユニットの検証が行われます。
検証の詳細については、"7.2.5.2 検証"を参照してください。