インターフェース JpaVendorAdapter

すべての既知の実装クラス:
AbstractJpaVendorAdapter, EclipseLinkJpaVendorAdapter, HibernateJpaVendorAdapter

public interface JpaVendorAdapter
ベンダー固有の動作を Spring の EntityManagerFactory クリエーターにプラグインできる SPI インターフェース。すべてのベンダー固有のプロパティの単一の構成ポイントとして機能します。
導入:
2.0
作成者:
Juergen Hoeller, Rod Johnson
関連事項:
  • 方法の概要

    修飾子と型
    メソッド
    説明
    default ClassSE<? extends jakarta.persistence.EntityManagerFactory>
    EntityManagerFactory プロキシが実装することになっているベンダー固有の EntityManagerFactory インターフェースを返します。
    default ClassSE<? extends jakarta.persistence.EntityManager>
    このプロバイダーの EntityManagers が実装するベンダー固有の EntityManager インターフェースを返します。
    このプロバイダーのベンダー固有の JpaDialect 実装、または存在しない場合は null を返します。
    default MapSE<StringSE,?>
    ベンダー固有の JPA プロパティのマップを返します。通常、この JpaVendorAdapter インスタンスの設定に基づいています。
    default MapSE<StringSE,?>
    getJpaPropertyMap(jakarta.persistence.spi.PersistenceUnitInfo pui)
    通常はこの JpaVendorAdapter インスタンスの設定に基づいて、特定の永続性ユニットのベンダー固有の JPA プロパティのマップを返します。
    jakarta.persistence.spi.PersistenceProvider
    ベンダー固有の永続性プロバイダーを返します。
    永続性プロバイダーのルートパッケージの名前を返します (例: "oracle.toplink.essentials" )。
    default void
    postProcessEntityManager(jakarta.persistence.EntityManager em)
    アクティブに使用する前にネイティブ EntityManager を後処理するためのオプションのコールバック。
    default void
    postProcessEntityManagerFactory(jakarta.persistence.EntityManagerFactory emf)
    アクティブに使用する前にネイティブ EntityManagerFactory を後処理するためのオプションのコールバック。
  • メソッドの詳細

    • getPersistenceProvider

      jakarta.persistence.spi.PersistenceProvider getPersistenceProvider()
      ベンダー固有の永続性プロバイダーを返します。
    • getPersistenceProviderRootPackage

      default @Nullable StringSE getPersistenceProviderRootPackage()
      永続性プロバイダーのルートパッケージの名前を返します (例: "oracle.toplink.essentials" )。プロバイダークラスを一時的なクラスのオーバーライドから除外するために使用されます。
      導入:
      2.5.2
    • getJpaPropertyMap

      default MapSE<StringSE,?> getJpaPropertyMap(jakarta.persistence.spi.PersistenceUnitInfo pui)
      通常はこの JpaVendorAdapter インスタンスの設定に基づいて、特定の永続性ユニットのベンダー固有の JPA プロパティのマップを返します。

      EntityManagerFactory Bean でさらに JPA プロパティが定義されている可能性があることに注意してください。これにより、ここで指定された個々の JPA プロパティ値がオーバーライドされる可能性があります。

      この実装は、ユニットに依存しないプロパティについて getJpaPropertyMap() に委譲します。実際には、この PersistenceUnitInfo ベースのバリアントは、トランザクション型などのユニット固有の特性に実際に対応する必要がある場合にのみ実装する必要があります。

      注意 : このバリアントは、PersistenceUnitInfo が存在する Jakarta EE スタイルのコンテナーブートストラップ(つまり LocalContainerEntityManagerFactoryBean)の場合にのみ呼び出されます。Persistence を介したシンプルな Java SE スタイルのブートストラップ(つまり LocalEntityManagerFactoryBean)の場合は、パラメーターなしの getJpaPropertyMap() バリアントが直接呼び出されます。

      パラメーター:
      pui - 現在の永続性ユニットの PersistenceUnitInfo
      戻り値:
      標準の JPA ブートストラップ機能で受け入れられる JPA プロパティの Map、または公開するプロパティがない場合は空の Map
      導入:
      4.3.13
      関連事項:
      • PersistenceUnitInfo.getTransactionType()
      • PersistenceProvider.createContainerEntityManagerFactory(PersistenceUnitInfo, Map)
    • getJpaPropertyMap

      default MapSE<StringSE,?> getJpaPropertyMap()
      ベンダー固有の JPA プロパティのマップを返します。通常、この JpaVendorAdapter インスタンスの設定に基づいています。

      EntityManagerFactory Bean でさらに JPA プロパティが定義されている可能性があることに注意してください。これにより、ここで指定された個々の JPA プロパティ値がオーバーライドされる可能性があります。

      戻り値:
      標準の JPA ブートストラップ機能で受け入れられる JPA プロパティの Map、または公開するプロパティがない場合は空の Map
      関連事項:
      • Persistence.createEntityManagerFactory(String, Map)
    • getJpaDialect

      default @Nullable JpaDialect getJpaDialect()
      このプロバイダーのベンダー固有の JpaDialect 実装、または存在しない場合は null を返します。
    • getEntityManagerFactoryInterface

      default ClassSE<? extends jakarta.persistence.EntityManagerFactory> getEntityManagerFactoryInterface()
      EntityManagerFactory プロキシが実装することになっているベンダー固有の EntityManagerFactory インターフェースを返します。

      プロバイダーが EntityManagerFactory 拡張機能を提供していない場合、アダプターはここで標準の EntityManagerFactory クラスを返す必要があります。

      導入:
      2.5.2
    • getEntityManagerInterface

      default ClassSE<? extends jakarta.persistence.EntityManager> getEntityManagerInterface()
      このプロバイダーの EntityManagers が実装するベンダー固有の EntityManager インターフェースを返します。

      プロバイダーが EntityManager 拡張機能を提供していない場合、アダプターはここで標準の EntityManager クラスを返す必要があります。

    • postProcessEntityManagerFactory

      default void postProcessEntityManagerFactory(jakarta.persistence.EntityManagerFactory emf)
      アクティブに使用する前にネイティブ EntityManagerFactory を後処理するためのオプションのコールバック。

      これは、ベンダー固有の初期化プロセスをトリガーするために使用できます。これはほとんどのプロバイダーで使用されることは想定されていませんが、ここでは一般的な拡張フックとして含まれています。

    • postProcessEntityManager

      default void postProcessEntityManager(jakarta.persistence.EntityManager em)
      アクティブに使用する前にネイティブ EntityManager を後処理するためのオプションのコールバック。

      これは、すべての新しい EntityManager で、Hibernate フィルターなどのベンダー固有のパラメーターを設定するために使用できます。

      導入:
      5.3