パッケージ jakarta.persistence.spi

インターフェース PersistenceUnitInfo


public interface PersistenceUnitInfo
コンテナーによって実装され、EntityManagerFactory の作成時に永続性プロバイダーによって使用されるインターフェース。
導入:
1.0
  • 方法の概要

    修飾子と型
    メソッド
    説明
    void
    プロバイダーによって提供されるトランスフォーマーを追加します。トランスフォーマーは、getClassLoader() メソッドによって返されたローダーによってロードされる新しいクラス定義またはクラス再定義ごとに呼び出されます。
    boolean
    明示的にリストされていない永続性ユニットのルートにあるクラスを、マネージクラスのセットに含めるかどうかを返します。
    プロバイダーがクラス、リソース、オープン URL をロードするために使用できる ClassLoader を返します。
    永続性プロバイダーが永続性ユニットのマネージクラスを調べる必要がある jar ファイルまたは展開された jar ファイルディレクトリの URL のリストを返します。
    永続性プロバイダーが使用する JTA 対応のデータソースを返します。
    永続性プロバイダーがマネージクラスのセットに追加する必要があるクラスの名前のリストを返します。
    エンティティクラスのマッピングを決定するために永続化プロバイダーがロードする必要があるマッピングファイルの名前のリストを返します。
    プロバイダーがクラス、リソース、開いている URL を一時的にロードするために使用できる ClassLoaderSE の新しいインスタンスを返します。
    JTA トランザクションの外部でデータにアクセスするために永続性プロバイダーが使用する、JTA 非対応のデータソースを返します。
    永続化プロバイダー実装クラスの完全修飾名を返します。
    永続化ユニットの名前を返します。
    永続性ユニットのルートである jar ファイルまたはディレクトリの URL を返します。
    persistence.xml ファイルのスキーマバージョンを返します。
    プロパティオブジェクトを返します。
    Qualifier とアノテーションが付けられたアノテーションの完全修飾クラス名を返します。
    Scope または NormalScope でアノテーションが付けられたアノテーションの完全修飾クラス名を返します。
    プロバイダーが永続性ユニットの 2 次キャッシュを使用する方法の仕様を返します。
    EntityManagerFactory によって作成されたエンティティマネージャーのトランザクション型を返します。
    永続化プロバイダーが永続化ユニットに使用する検証モードを返します。
  • メソッドの詳細

    • getPersistenceUnitName

      StringSE getPersistenceUnitName()
      永続化ユニットの名前を返します。persistence.xml ファイルの name 属性に対応します。
      戻り値:
      永続性ユニットの名前
    • getPersistenceProviderClassName

      StringSE getPersistenceProviderClassName()
      永続化プロバイダー実装クラスの完全修飾名を返します。persistence.xml ファイルの provider 要素に対応します。
      戻り値:
      永続性プロバイダー実装クラスの完全修飾名
    • getScopeAnnotationName

      StringSE getScopeAnnotationName()
      Scope または NormalScope でアノテーションが付けられたアノテーションの完全修飾クラス名を返します。persistence.xml の scope 要素に対応します。
      戻り値:
      スコープアノテーションの完全修飾クラス名、またはスコープが明示的に指定されていない場合は null
    • getQualifierAnnotationNames

      ListSE<StringSE> getQualifierAnnotationNames()
      Qualifier でアノテーションが付けられたアノテーションの完全修飾クラス名を返します。persistence.xml の qualifier 要素に対応します。
      戻り値:
      修飾子アノテーションの完全修飾クラス名、または修飾子アノテーションが明示的に指定されていない場合は空のリスト
    • getTransactionType

      PersistenceUnitTransactionType getTransactionType()
      EntityManagerFactory によって作成されたエンティティマネージャーのトランザクション型を返します。トランザクション型は、persistence.xml ファイルの transaction-type 属性に対応します。
      戻り値:
      EntityManagerFactory によって作成されたエンティティマネージャーのトランザクション型

      メモ: このメソッドは、次のメジャーバージョンでは戻り値の型が PersistenceUnitTransactionType に変更されます。

    • getJtaDataSource

      DataSourceSE getJtaDataSource()
      永続性プロバイダーが使用する JTA 対応のデータソースを返します。データソースは、persistence.xml ファイルの jta-data-source 要素に対応するか、デプロイで提供されるか、コンテナーによって提供されます。
      戻り値:
      永続性プロバイダーが使用する JTA 対応のデータソース
    • getNonJtaDataSource

      DataSourceSE getNonJtaDataSource()
      JTA トランザクションの外部でデータにアクセスするために永続性プロバイダーが使用する、JTA 非対応のデータソースを返します。データソースは、persistence.xml ファイル内の名前付き non-jta-data-source 要素に対応するか、デプロイで提供されるか、コンテナーによって提供されます。
      戻り値:
      JTA トランザクション外のデータにアクセスするために永続性プロバイダーが使用する、JTA 非対応のデータソース
    • getMappingFileNames

      ListSE<StringSE> getMappingFileNames()
      エンティティクラスのマッピングを決定するために永続化プロバイダーがロードする必要があるマッピングファイルの名前のリストを返します。マッピングファイルは、標準の XML マッピング形式で、一意の名前を付け、アプリケーションのクラスパスからリソースをロードできる必要があります。各マッピングファイル名は、persistence.xml ファイルの mapping-file 要素に対応しています。
      戻り値:
      エンティティクラスのマッピングを決定するために永続化プロバイダーがロードする必要があるマッピングファイル名のリスト
    • getJarFileUrls

      ListSE<URLSE> getJarFileUrls()
      永続性プロバイダーが永続性ユニットのマネージクラスを調べる必要がある jar ファイルまたは展開された jar ファイルディレクトリの URL のリストを返します。各 URL は、persistence.xml ファイルの jar-file 要素に対応しています。URL は次のいずれかのファイルになります。jar ファイルを参照する URL、または展開された jar ファイルを含むディレクトリを参照する URL、または jar 形式の InputStream を取得できるその他の URL。
      戻り値:
      jar ファイルまたはディレクトリを参照する URL オブジェクトのリスト
    • getPersistenceUnitRootUrl

      URLSE getPersistenceUnitRootUrl()
      永続化ユニットのルートである jar ファイルまたはディレクトリの URL を返します。(永続化ユニットが WEB-INF/classes ディレクトリにルートされている場合、これはそのディレクトリの URL です) URL はファイルになります: jar ファイルを参照する URL、または展開された jar ファイルを含むディレクトリを参照する URL、または jar 形式の InputStream を取得できる他の URL。
      戻り値:
      jar ファイルまたはディレクトリを参照する URL
    • getManagedClassNames

      ListSE<StringSE> getManagedClassNames()
      永続性プロバイダーがマネージクラスのセットに追加する必要があるクラスの名前のリストを返します。各名前は、persistence.xml ファイル内の名前付き class 要素に対応しています。
      戻り値:
      永続化プロバイダーが管理対象クラスのセットに追加する必要のあるクラスの名前のリスト
    • excludeUnlistedClasses

      boolean excludeUnlistedClasses()
      明示的にリストされていない永続性ユニットのルートにあるクラスを、マネージクラスのセットに含めるかどうかを返します。この値は、persistence.xml ファイルの exclude-unlisted-classes 要素に対応しています。
      戻り値:
      明示的にリストされていない永続性ユニットのルートにあるクラスを、マネージクラスのセットに含めるかどうか
    • getSharedCacheMode

      SharedCacheMode getSharedCacheMode()
      プロバイダーが永続性ユニットの 2 次レベルキャッシュを使用する方法の仕様を返します。このメソッドの結果は、persistence.xml ファイルの shared-cache-mode 要素に対応します。
      戻り値:
      永続化ユニットのプロバイダーが使用する必要がある 2 次レベルのキャッシュモード
      導入:
      2.0
    • getValidationMode

      ValidationMode getValidationMode()
      永続化ユニットの永続化プロバイダーが使用する検証モードを返します。検証モードは、persistence.xml ファイルの validation-mode 要素に対応します。
      戻り値:
      永続性プロバイダーが永続性ユニットに使用する検証モード
      導入:
      2.0
    • getProperties

      PropertiesSE getProperties()
      プロパティオブジェクトを返します。各プロパティは、persistence.xml ファイルの property 要素、またはコンテナーによって設定されたプロパティに対応します。
      戻り値:
      プロパティオブジェクト
    • getPersistenceXMLSchemaVersion

      StringSE getPersistenceXMLSchemaVersion()
      persistence.xml ファイルのスキーマバージョンを返します。
      戻り値:
      persistence.xml スキーマのバージョン
      導入:
      2.0
    • getClassLoader

      ClassLoaderSE getClassLoader()
      プロバイダーがクラス、リソース、オープン URL をロードするために使用できる ClassLoader を返します。
      戻り値:
      プロバイダーがクラス、リソース、オープン URL をロードするために使用できる ClassLoader
    • addTransformer

      void addTransformer(ClassTransformer transformer)
      プロバイダーによって提供されるトランスフォーマーを追加します。トランスフォーマーは、getClassLoader() メソッドによって返されたローダーによってロードされる新しいクラス定義またはクラス再定義ごとに呼び出されます。トランスフォーマーは、getNewTempClassLoader() メソッドによって返される結果には影響しません。クラスは、その一部である永続化ユニットの数に関係なく、同じクラスロードスコープ内で 1 回だけ変換されます。
      パラメーター:
      transformer - コンテナーがクラス(再)定義時に呼び出すプロバイダー提供のトランスフォーマー
    • getNewTempClassLoader

      ClassLoaderSE getNewTempClassLoader()
      プロバイダーがクラス、リソース、開いている URL を一時的にロードするために使用できる ClassLoaderSE の新しいインスタンスを返します。このローダーのスコープとクラスパスは、getClassLoader() によって返されるローダーのスコープとクラスパスとまったく同じです。このクラスローダーによってロードされたクラスは、アプリケーションコンポーネントからは認識されません。プロバイダーは、PersistenceProvider.createContainerEntityManagerFactory(jakarta.persistence.spi.PersistenceUnitInfo, java.util.Map<?, ?>) 呼び出しの範囲内でのみこの ClassLoader を使用できます。
      戻り値:
      現在のローダーと同じ可視性を持つ一時的な ClassLoader