public abstract class AbstractJpaVendorAdapter extends ObjectSE implements JpaVendorAdapter
JpaVendorAdapter
実装。具象サブクラスによってベンダー固有の JPA プロパティに変換されます。コンストラクターと説明 |
---|
AbstractJpaVendorAdapter() |
修飾子と型 | メソッドと説明 |
---|---|
protected Database | getDatabase() 操作するターゲットデータベースを返します。 |
protected StringSE | getDatabasePlatform() 操作するターゲットデータベースの名前を返します。 |
ClassSE<? extends EntityManagerFactoryEE> | getEntityManagerFactoryInterface() EntityManagerFactory プロキシが実装することになっているベンダー固有の EntityManagerFactory インターフェースを返します。 |
ClassSE<? extends EntityManagerEE> | getEntityManagerInterface() このプロバイダーの EntityManagers が実装するベンダー固有の EntityManager インターフェースを返します。 |
JpaDialect | getJpaDialect() このプロバイダーのベンダー固有の JpaDialect 実装、または存在しない場合は null を返します。 |
MapSE<StringSE,?> | getJpaPropertyMap() ベンダー固有の JPA プロパティのマップを返します。通常、この JpaVendorAdapter インスタンスの設定に基づいています。 |
MapSE<StringSE,?> | getJpaPropertyMap(PersistenceUnitInfoEE pui) 通常はこの JpaVendorAdapter インスタンスの設定に基づいて、特定の永続性ユニットのベンダー固有の JPA プロパティのマップを返します。 |
StringSE | getPersistenceProviderRootPackage() 永続化プロバイダーのルートパッケージの名前を返します(例: |
protected boolean | isGenerateDdl() EntityManagerFactory が初期化された後に DDL を生成するかどうかを返します。関連するすべてのテーブルを作成 / 更新します。 |
protected boolean | isShowSql() SQL をログ(またはコンソール)に表示するかどうかを返します。 |
void | postProcessEntityManager(EntityManagerEE em) アクティブに使用する前にネイティブ EntityManager を後処理するためのオプションのコールバック。 |
void | postProcessEntityManagerFactory(EntityManagerFactoryEE emf) アクティブに使用する前にネイティブ EntityManagerFactory を後処理するためのオプションのコールバック。 |
void | setDatabase(Database database) 操作するターゲットデータベースを Database 列挙型の値として指定します。DB2、DERBY、H2、HANA、HSQL、INFORMIX、MYSQL、ORACLE、POSTGRESQL、SQL_SERVER、SYBASE |
void | setDatabasePlatform(StringSE databasePlatform) 操作するターゲットデータベースの名前を指定します。 |
void | setGenerateDdl(boolean generateDdl) EntityManagerFactory が初期化された後に DDL を生成するかどうかを設定し、関連するすべてのテーブルを作成 / 更新します。 |
void | setShowSql(boolean showSql) SQL をログ(またはコンソール)に表示するかどうかを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getPersistenceProvider
public void setDatabase(Database database)
Database
列挙型の値として指定します。DB2、DERBY、H2、HANA、HSQL、INFORMIX、MYSQL、ORACLE、POSTGRESQL、SQL_SERVER、SYBASE注意 : この設定は、JPA プロバイダーのデフォルトのアルゴリズムをオーバーライドします。カスタムベンダープロパティは、データベースのダイアレクトを微調整する場合があります。ただし、それでも競合が発生する可能性があります: 例: この設定または Hibernate の "hibernate.dialect_resolvers" プロパティのいずれかを指定しますが、両方を指定することはできません。
protected Database getDatabase()
public void setDatabasePlatform(@Nullable StringSE databasePlatform)
public void setGenerateDdl(boolean generateDdl)
このフラグの正確なセマンティクスは、基盤となる永続化プロバイダーに依存することに注意してください。さらに高度なニーズがある場合は、適切なベンダー固有の設定を "jpaProperties" として指定します。
注: JPA 2.1 の javax.persistence.schema-generation.database.action
プロパティも設定している間は、このフラグを "true" に設定しないでください。これらの 2 つのスキーマ生成メカニズム(標準の JPA とプロバイダーネイティブ)は、たとえば Hibernate 5 と相互に排他的です。
protected boolean isGenerateDdl()
public void setShowSql(boolean showSql)
より具体的なログ設定については、適切なベンダー固有の設定を "jpaProperties" として指定します。
protected boolean isShowSql()
@Nullable public StringSE getPersistenceProviderRootPackage()
JpaVendorAdapter
JpaVendorAdapter
の getPersistenceProviderRootPackage
public MapSE<StringSE,?> getJpaPropertyMap(PersistenceUnitInfoEE pui)
JpaVendorAdapter
EntityManagerFactory Bean でさらに JPA プロパティが定義されている可能性があることに注意してください。これにより、ここで指定された個々の JPA プロパティ値がオーバーライドされる可能性があります。
この実装は、ユニットに依存しないプロパティについて JpaVendorAdapter.getJpaPropertyMap()
に委譲します。実際には、この PersistenceUnitInfo ベースのバリアントは、トランザクション型などのユニット固有の特性に実際に対応する必要がある場合にのみ実装する必要があります。
注 : このバリアントは、PersistenceUnitInfo
EE が存在する Java EE スタイルのコンテナーブートストラップ(つまり LocalContainerEntityManagerFactoryBean
)の場合にのみ呼び出されます。Persistence
EE(つまり LocalEntityManagerFactoryBean
)による単純な Java SE スタイルのブートストラップの場合、パラメーターなしの JpaVendorAdapter.getJpaPropertyMap()
バリアントが直接呼び出されます。
JpaVendorAdapter
の getJpaPropertyMap
pui
- 現在の永続性ユニットの PersistenceUnitInfoPersistenceUnitInfo.getTransactionType()
EE, PersistenceProvider.createContainerEntityManagerFactory(PersistenceUnitInfo, Map)
EEpublic MapSE<StringSE,?> getJpaPropertyMap()
JpaVendorAdapter
EntityManagerFactory Bean でさらに JPA プロパティが定義されている可能性があることに注意してください。これにより、ここで指定された個々の JPA プロパティ値がオーバーライドされる可能性があります。
JpaVendorAdapter
の getJpaPropertyMap
Persistence.createEntityManagerFactory(String, Map)
EE@Nullable public JpaDialect getJpaDialect()
JpaVendorAdapter
null
を返します。JpaVendorAdapter
の getJpaDialect
public ClassSE<? extends EntityManagerFactoryEE> getEntityManagerFactoryInterface()
JpaVendorAdapter
プロバイダーが EntityManagerFactory 拡張を提供しない場合、アダプターは標準の EntityManagerFactory
EE クラスをここで返すだけです。
JpaVendorAdapter
の getEntityManagerFactoryInterface
public ClassSE<? extends EntityManagerEE> getEntityManagerInterface()
JpaVendorAdapter
プロバイダーが EntityManager 拡張を提供しない場合、アダプターは標準の EntityManager
EE クラスをここで返すだけです。
JpaVendorAdapter
の getEntityManagerInterface
public void postProcessEntityManagerFactory(EntityManagerFactoryEE emf)
JpaVendorAdapter
これは、ベンダー固有の初期化プロセスをトリガーするために使用できます。これはほとんどのプロバイダーで使用されることは想定されていませんが、ここでは一般的な拡張フックとして含まれています。
JpaVendorAdapter
の postProcessEntityManagerFactory
public void postProcessEntityManager(EntityManagerEE em)
JpaVendorAdapter
これは、ベンダー固有のパラメーターを設定するために使用できます。すべての新しい EntityManager で Hibernate フィルター。
JpaVendorAdapter
の postProcessEntityManager