パッケージ jakarta.persistence.spi
インターフェース PersistenceProvider
public interface PersistenceProvider
永続化プロバイダーによって実装されるインターフェース。
これは、Jakarta EE 環境のコンテナーおよび Java SE 環境の Persistence
クラスによって呼び出され、EntityManagerFactory
を作成したり、スキーマ生成を発生させたりします。
- 導入:
- 1.0
メソッドのサマリー
修飾子と型メソッド説明createContainerEntityManagerFactory
(PersistenceUnitInfo info, MapSE<?, ?> map) EntityManagerFactory
が作成されるときにコンテナーによって呼び出されます。createEntityManagerFactory
(PersistenceConfiguration configuration) EntityManagerFactory
を作成するときにPersistence
クラスによって呼び出されます。createEntityManagerFactory
(StringSE emName, MapSE<?, ?> map) EntityManagerFactory
を作成するときにPersistence
クラスによって呼び出されます。void
generateSchema
(PersistenceUnitInfo info, MapSE<?, ?> map) 提供されたプロパティによって決定されるように、データベーススキーマやテーブルを作成し、DDL スクリプトを作成します。boolean
generateSchema
(StringSE persistenceUnitName, MapSE<?, ?> map) 提供されたプロパティによって決定されるように、データベーススキーマやテーブルを作成し、DDL スクリプトを作成します。永続化プロバイダーによって実装されたユーティリティインターフェースを返します。
メソッドの詳細
createEntityManagerFactory
EntityManagerFactory
を作成するときにPersistence
クラスによって呼び出されます。- パラメーター:
emName
- 永続性ユニットの名前map
- 永続性プロバイダーが使用するプロパティのマップ。これらのプロパティを使用して、persistence.xml
ファイル内の対応する要素の値をオーバーライドしたり、persistence.xml
で指定されていないプロパティの値を指定したりできます(プロパティが指定されていない場合は null になる場合があります)。- 戻り値:
- 永続性ユニットの EntityManagerFactory、またはプロバイダーが適切なプロバイダーでない場合は null
- 関連事項:
createEntityManagerFactory
EntityManagerFactory
を作成するときにPersistence
クラスによって呼び出されます。- パラメーター:
configuration
- 永続化ユニットの構成- 戻り値:
- 永続性ユニットの EntityManagerFactory、またはプロバイダーが適切なプロバイダーでない場合は null
- 例外:
IllegalStateExceptionSE
- 必要な構成が欠落している場合- 導入:
- 3.2
- 関連事項:
createContainerEntityManagerFactory
EntityManagerFactory
が作成されるときにコンテナーによって呼び出されます。- パラメーター:
info
- 永続化プロバイダーが使用するメタデータmap
- 永続化プロバイダーによって使用される統合レベルのプロパティのマップ (プロパティが指定されていない場合は null になる可能性があります)。これらのプロパティには、スキーマ生成を制御するプロパティが含まれる場合があります。Bean 検証プロバイダーがクラスパスに存在する場合、コンテナーはキー"jakarta.persistence.validation.factory"
を持つマップ内のValidatorFactory
インスタンスを渡す必要があります。含まれているアーカイブが Bean アーカイブの場合、コンテナーはキー"jakarta.persistence.bean.manager"
を持つマップ内のBeanManager
インスタンスを渡す必要があります。- 戻り値:
- メタデータで指定された永続化ユニットの場合は
EntityManagerFactory
generateSchema
提供されたプロパティによって決定されるように、データベーススキーマやテーブルを作成し、DDL スクリプトを作成します。エンティティマネージャーファクトリの作成とは別のフェーズとしてスキーマの生成が行われるときにコンテナーによって呼び出されます。
- パラメーター:
info
- 永続化プロバイダーが使用するメタデータmap
- スキーマ生成のプロパティ。これらには、プロバイダー固有のプロパティも含まれる場合があります。- 例外:
PersistenceException
- 不十分な、または一貫性のない構成情報が提供された場合、スキーマ生成に失敗した場合- 導入:
- 2.1
generateSchema
提供されたプロパティによって決定されるように、データベーススキーマやテーブルを作成し、DDL スクリプトを作成します。エンティティマネージャーファクトリの作成とは別のフェーズとしてスキーマの生成が行われる場合に、
Persistence
クラスによって呼び出されます。- パラメーター:
persistenceUnitName
- 永続性ユニットの名前map
- スキーマ生成のプロパティ。これらには、プロバイダー固有のプロパティが含まれる場合もあります。これらのプロパティの値は、他の場所で構成されている可能性のある値を上書きします。- 戻り値:
- スキーマが生成された場合は true、それ以外の場合は false
- 例外:
PersistenceException
- 提供された構成情報が不十分または矛盾している場合、またはスキーマの生成に失敗した場合- 導入:
- 2.1
getProviderUtil
ProviderUtil getProviderUtil()永続化プロバイダーによって実装されたユーティリティインターフェースを返します。- 戻り値:
ProviderUtil
のインスタンス- 導入:
- 2.0