クラス SharedEntityManagerCreator

java.lang.ObjectSE
org.springframework.orm.jpa.SharedEntityManagerCreator

public abstract class SharedEntityManagerCreator extends ObjectSE
特定の EntityManagerFactory の共有可能な JPA EntityManager 参照を作成するためのデリゲート。

共有 EntityManager は、JPA 仕様で定義されているように、アプリケーションサーバーの JNDI 環境からフェッチされた EntityManager と同じように動作します。現在のトランザクション EntityManager がある場合は、すべての呼び出しを委譲します。それ以外の場合は、操作ごとに新しく作成された EntityManager にフォールバックします。

このような共有トランザクション型 EntityManager の動作定義については、PersistenceContextType.TRANSACTION と JPA 仕様書の解説を参照してください。これは、アノテーションベースの PersistenceContext.type() でもデフォルトで使用されています。

導入:
2.0
作成者:
Juergen Hoeller, Rod Johnson, Oliver Gierke, Mark Paluch, Sam Brannen
関連事項:
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
  • 方法の概要

    修飾子と型
    メソッド
    説明
    static jakarta.persistence.EntityManager
    createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf)
    指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
    static jakarta.persistence.EntityManager
    createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties)
    指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
    static jakarta.persistence.EntityManager
    createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties, boolean synchronizedWithTransaction)
    指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
    static jakarta.persistence.EntityManager
    createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties, boolean synchronizedWithTransaction, ClassSE<?>... entityManagerInterfaces)
    指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
    static jakarta.persistence.EntityManager
    createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties, ClassSE<?>... entityManagerInterfaces)
    指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。

    クラス ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • SharedEntityManagerCreator

      public SharedEntityManagerCreator()
  • メソッドの詳細

    • createSharedEntityManager

      public static jakarta.persistence.EntityManager createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf)
      指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
      パラメーター:
      emf - 委譲先の EntityManagerFactory。
      戻り値:
      共有可能なトランザクション EntityManager プロキシ
    • createSharedEntityManager

      public static jakarta.persistence.EntityManager createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties)
      指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
      パラメーター:
      emf - 委譲先の EntityManagerFactory。
      properties - createEntityManager 呼び出しに渡されるプロパティ (null の場合があります)
      戻り値:
      共有可能なトランザクション EntityManager プロキシ
    • createSharedEntityManager

      public static jakarta.persistence.EntityManager createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties, boolean synchronizedWithTransaction)
      指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
      パラメーター:
      emf - 委譲先の EntityManagerFactory。
      properties - createEntityManager 呼び出しに渡されるプロパティ (null の場合があります)
      synchronizedWithTransaction - 進行中のトランザクションに自動的に参加するかどうか (JPA 2.1 SynchronizationType ルールに準拠)
      戻り値:
      共有可能なトランザクション EntityManager プロキシ
      導入:
      4.0
    • createSharedEntityManager

      public static jakarta.persistence.EntityManager createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties, ClassSE<?>... entityManagerInterfaces)
      指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
      パラメーター:
      emf - 必要に応じて EntityManagers を取得する EntityManagerFactory
      properties - createEntityManager 呼び出しに渡されるプロパティ (null の場合があります)
      entityManagerInterfaces - EntityManager によって実装されるインターフェース。独自のインターフェースを追加または指定できます。
      戻り値:
      共有可能なトランザクション EntityManager プロキシ
    • createSharedEntityManager

      public static jakarta.persistence.EntityManager createSharedEntityManager(jakarta.persistence.EntityManagerFactory emf, @Nullable MapSE<?,?> properties, boolean synchronizedWithTransaction, ClassSE<?>... entityManagerInterfaces)
      指定された EntityManagerFactory のトランザクション EntityManager プロキシを作成します。
      パラメーター:
      emf - 必要に応じて EntityManagers を取得する EntityManagerFactory
      properties - createEntityManager 呼び出しに渡されるプロパティ (null の場合があります)
      synchronizedWithTransaction - 進行中のトランザクションに自動的に参加するかどうか (JPA 2.1 SynchronizationType ルールに準拠)
      entityManagerInterfaces - EntityManager によって実装されるインターフェース。独自のインターフェースを追加または指定できます。
      戻り値:
      共有可能なトランザクション EntityManager プロキシ
      導入:
      4.0