5.8.1 <persistence-unit>タグに指定する属性
<persistence-unit>タグにはname属性とtransaction-type属性を指定します。
- 〈この項の構成〉
(1) name属性
定義する永続化ユニットの名前を指定します。ここで指定した名前は,アノテーションの場合,@PersistenceUnitまたは@PersistenceContextのunitName属性から参照されます。また,DDの場合は,<persistence-context-ref>タグ下または<persistence-unit-ref>タグ下の<persistence-unit-name>タグから参照されます。
name属性は省略できません。また,アプリケーションサーバでJPAを使用する場合,name属性には空文字を指定できません。1文字以上の文字列を指定してください。
(2) transaction-type属性
定義する永続化ユニットで,トランザクションをJTAによってコントロールするか,javax.persistence.EntityTransactionを使用してアプリケーションがコントロールするかを指定します。
-
トランザクションをJTAによってコントロールする場合
transaction-type属性には「JTA」を指定します。「JTA」を指定した場合には,同時に<jta-data-source>タグも指定する必要があります。
-
EntityTransactionを使用してアプリケーションがトランザクションをコントロールする場合
transaction-type属性には「RESOURCE_LOCAL」を指定します。「RESOURCE_LOCAL」を指定した場合には,<non-jta-data-source>タグも同時に指定する必要があります。
なお,transaction-type属性を省略した場合,デフォルトは「JTA」となります。