Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


5.4.3 トランザクションの制御とEntityManager

トランザクションの制御方法によって,EntityManagerには次の2種類があります。

EntityManagerの種類とトランザクションの制御方法の関係について次の表に示します。

表5‒6 EntityManagerの種類とトランザクションの制御方法の関係

EntityManagerの種類

トランザクションの制御方法

JTA

リソースローカル

コンテナ管理のEntityManager

※1

×

アプリケーション管理のEntityManager※2

(凡例)

○:制御できる

×:制御できない

JTA:JTAエンティティマネージャ

リソースローカル:リソースローカルエンティティマネージャ

注※1 トランザクションは必ずJTAによって制御されます。

注※2 トランザクションをJTAによって制御するか,またはアプリケーションが明示的にEntityTransactionというAPIを使用して制御するかを選択できます。EntityTransaction APIを使用する場合は,そのトランザクションはリソースローカルトランザクションとなります。JTAトランザクションが存在した場合でも,JTAトランザクションとは無関係に制御されます。

JTAエンティティマネージャを使用するかリソースローカルエンティティマネージャを使用するかは,永続化ユニットの定義で指定します。永続化ユニットでの定義方法については,「5.8.1(2) transaction-type属性」を参照してください。