パッケージ jakarta.persistence
インターフェース EntityManagerFactory
- すべてのスーパーインターフェース:
AutoCloseableSE
public interface EntityManagerFactory extends AutoCloseableSE
永続性ユニットのエンティティマネージャーファクトリと対話するために使用されるインターフェース。アプリケーションがエンティティマネージャーファクトリの使用を終了したら、および / またはアプリケーションのシャットダウン時に、アプリケーションはエンティティマネージャーファクトリを閉じる必要があります。
EntityManagerFactoryが閉じられると、そのエンティティマネージャーはすべて閉じられた状態にあると見なされます。- 導入:
- 1.0
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 <T> voidaddNamedEntityGraph(StringSE graphName, EntityGraph<T> entityGraph)EntityGraph の名前付きコピーを EntityManagerFactory に追加します。voidaddNamedQuery(StringSE name, Query query)createNamedQueryメソッドまたはcreateNamedStoredProcedureQueryメソッドを使用して将来のクエリオブジェクトを作成できるように、クエリ、型付きクエリ、ストアドプロシージャクエリを名前付きクエリとして定義します。voidclose()ファクトリを閉じて、保持しているリソースをすべて解放します。EntityManagercreateEntityManager()新しいアプリケーション管理のEntityManagerを作成します。EntityManagercreateEntityManager(SynchronizationType synchronizationType)指定した同期型を使用して、新しい JTA アプリケーション管理のEntityManagerを作成します。EntityManagercreateEntityManager(SynchronizationType synchronizationType, MapSE map)指定された同期型とプロパティのマップを使用して、新しい JTA アプリケーション管理のEntityManagerを作成します。EntityManagercreateEntityManager(MapSE map)プロパティの指定されたマップを使用して、新しいアプリケーション管理のEntityManagerを作成します。CachegetCache()エンティティマネージャーファクトリに関連付けられているキャッシュ(「第 2 レベルのキャッシュ」)にアクセスします。CriteriaBuildergetCriteriaBuilder()CriteriaQueryオブジェクトの作成のためにCriteriaBuilderのインスタンスを返します。MetamodelgetMetamodel()永続性ユニットのメタモデルにアクセスするためのMetamodelインターフェースのインスタンスを返します。PersistenceUnitUtilgetPersistenceUnitUtil()永続性ユニットのユーティリティメソッドへのアクセスを提供するインターフェースを返します。MapSE<StringSE,ObjectSE>getProperties()エンティティマネージャーファクトリに有効なプロパティと関連する値を取得します。booleanisOpen()ファクトリが開いているかどうかを示します。<T> Tunwrap(ClassSE<T> cls)指定された型のオブジェクトを返し、プロバイダー固有の API へのアクセスを許可します。
メソッドの詳細
createEntityManager
EntityManager createEntityManager()
新しいアプリケーション管理のEntityManagerを作成します。このメソッドは、呼び出されるたびに新しいEntityManagerインスタンスを返します。isOpenメソッドは、返されたインスタンスで true を返します。- 戻り値:
- エンティティマネージャーインスタンス
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合
createEntityManager
EntityManager createEntityManager(MapSE map)
指定されたプロパティのマップを使用して、新しいアプリケーション管理のEntityManagerを作成します。このメソッドは、呼び出されるたびに新しいEntityManagerインスタンスを返します。isOpenメソッドは、返されたインスタンスで true を返します。- パラメーター:
map- エンティティマネージャーのプロパティ- 戻り値:
- エンティティマネージャーインスタンス
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合
createEntityManager
EntityManager createEntityManager(SynchronizationType synchronizationType)
指定した同期型を使用して、新しい JTA アプリケーション管理のEntityManagerを作成します。このメソッドは、呼び出されるたびに新しいEntityManagerインスタンスを返します。isOpenメソッドは、返されたインスタンスで true を返します。- パラメーター:
synchronizationType- エンティティマネージャーを現在の JTA トランザクションと同期する方法とタイミング- 戻り値:
- エンティティマネージャーインスタンス
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリがリソースローカルエンティティマネージャー用に構成されているか、閉じられている場合- 導入:
- 2.1
createEntityManager
EntityManager createEntityManager(SynchronizationType synchronizationType, MapSE map)
指定された同期型とプロパティのマップを使用して、新しい JTA アプリケーション管理のEntityManagerを作成します。このメソッドは、呼び出されるたびに新しいEntityManagerインスタンスを返します。isOpenメソッドは、返されたインスタンスで true を返します。- パラメーター:
synchronizationType- エンティティマネージャーを現在の JTA トランザクションと同期する方法とタイミングmap- エンティティマネージャーのプロパティ- 戻り値:
- エンティティマネージャーインスタンス
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリがリソースローカルエンティティマネージャー用に構成されているか、閉じられている場合- 導入:
- 2.1
getCriteriaBuilder
CriteriaBuilder getCriteriaBuilder()
CriteriaQueryオブジェクトの作成のためにCriteriaBuilderのインスタンスを返します。- 戻り値:
- CriteriaBuilder インスタンス
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合- 導入:
- 2.0
getMetamodel
Metamodel getMetamodel()
永続性ユニットのメタモデルにアクセスするためのMetamodelインターフェースのインスタンスを返します。- 戻り値:
- メタモデルインスタンス
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合- 導入:
- 2.0
isOpen
boolean isOpen()
ファクトリが開いているかどうかを示します。ファクトリが閉じられるまで true を返します。- 戻り値:
- ファクトリが開いているかどうかを示すブール値
close
void close()
ファクトリを閉じて、保持しているリソースをすべて解放します。ファクトリインスタンスが閉じられた後、そのインスタンスで呼び出されたすべてのメソッドがIllegalStateExceptionをスローします。ただし、isOpenは false を返します。EntityManagerFactoryが閉じられると、そのすべてのエンティティマネージャーは閉じた状態であると見なされます。- 次で指定:
- インターフェース
AutoCloseableSEのclose - 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合
getProperties
MapSE<StringSE,ObjectSE> getProperties()
エンティティマネージャーファクトリに有効なプロパティと関連する値を取得します。マップの内容を変更しても、有効な構成は変更されません。- 戻り値:
- プロパティ
- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合- 導入:
- 2.0
getCache
Cache getCache()
エンティティマネージャーファクトリに関連付けられているキャッシュ(「第 2 レベルのキャッシュ」)にアクセスします。- 戻り値:
Cacheインターフェースのインスタンス。キャッシュが使用されていない場合は null- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合- 導入:
- 2.0
getPersistenceUnitUtil
PersistenceUnitUtil getPersistenceUnitUtil()
永続性ユニットのユーティリティメソッドへのアクセスを提供するインターフェースを返します。- 戻り値:
PersistenceUnitUtilインターフェース- 例外:
IllegalStateExceptionSE- エンティティマネージャーファクトリが閉じられている場合- 導入:
- 2.0
addNamedQuery
void addNamedQuery(StringSE name, Query query)
createNamedQueryメソッドまたはcreateNamedStoredProcedureQueryメソッドを使用して将来のクエリオブジェクトを作成できるように、クエリ、型付きクエリ、ストアドプロシージャクエリを名前付きクエリとして定義します。名前付きクエリが追加されたときに有効なクエリオブジェクトの構成(実際のパラメーターバインドを除く)は、名前付きクエリ定義の一部として保持されます。これには、最大結果、ヒント、フラッシュモード、ロックモード、結果セットマッピング情報、ストアドプロシージャのパラメーターに関する情報などの構成情報が含まれます。
クエリが実行されると、クエリ API を使用して設定できる情報をオーバーライドできます。オーバーライドされる情報は、エンティティマネージャーファクトリに登録されている名前付きクエリには影響しません。
createNamedQueryまたはcreateNamedStoredProcedureQueryメソッドによってそこから作成された後続のクエリオブジェクトには影響しません。同じ名前の名前付きクエリが以前にメタデータまたはこのメソッドを介して静的に定義されている場合、そのクエリ定義は置き換えられます。
- パラメーター:
name- クエリの名前query- クエリ、TypedQuery、StoredProcedureQuery オブジェクト- 導入:
- 2.1
unwrap
<T> T unwrap(ClassSE<T> cls)
指定された型のオブジェクトを返し、プロバイダー固有の API へのアクセスを許可します。プロバイダーの EntityManagerFactory 実装が指定されたクラスをサポートしない場合、PersistenceException がスローされます。- パラメーター:
cls- 返されるオブジェクトのクラス。これは通常、基礎となる EntityManagerFactory 実装クラスまたはそれが実装するインターフェースのいずれかです。- 戻り値:
- 指定されたクラスのインスタンス
- 例外:
PersistenceException- プロバイダーが呼び出しをサポートしていない場合- 導入:
- 2.1
addNamedEntityGraph
<T> void addNamedEntityGraph(StringSE graphName, EntityGraph<T> entityGraph)
EntityGraph の名前付きコピーを EntityManagerFactory に追加します。同じ名前のエンティティグラフがすでに存在する場合は、置き換えられます。- パラメーター:
graphName- エンティティグラフの名前entityGraph- エンティティグラフ- 導入:
- 2.1