パッケージ 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 が閉じられると、そのすべてのエンティティマネージャーは閉じた状態であると見なされます。
        次で指定:
        インターフェース AutoCloseableSEclose 
        例外:
        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