public class LocalSessionFactoryBuilder extends Configuration
Configuration クラスの拡張。SpringSessionContext をデフォルトとして追加し、JDBC DataSourceSE とアプリケーションクラスローダーを指定する便利な方法を提供します。 これは、プログラムで使用するために設計されています。@Bean ファクトリメソッド。XML Bean 定義ファイルに LocalSessionFactoryBean を使用することを検討してください。通常、SessionFactory およびその JDBC DataSource に対する宣言的トランザクションのために HibernateTransactionManager と組み合わされます。
Spring 5.1 以降、Hibernate 5.0/5.1 および 5.2/5.3 と互換性があります。Hibernate 5.2/5.3 を使用してセットアップすると、Hibernate SessionFactory は JPA EntityManagerFactory インターフェースもネイティブに公開するため、このビルダーは JPA EntityManagerFactory をセットアップするための便利な方法でもあります。
このビルダーは、Hibernate 5.3 BeanContainer 統合、カスタム BootstrapServiceRegistryBuilder セットアップからの MetadataSources、および標準の JPA ブートストラップ契約を超えるその他の高度な Hibernate 構成オプションをサポートしています。
ARTEFACT_PROCESSING_ORDER| コンストラクターと説明 |
|---|
LocalSessionFactoryBuilder(DataSourceSE dataSource) 指定された DataSource の新しい LocalSessionFactoryBuilder を作成します。 |
LocalSessionFactoryBuilder(DataSourceSE dataSource, ClassLoaderSE classLoader) 指定された DataSource の新しい LocalSessionFactoryBuilder を作成します。 |
LocalSessionFactoryBuilder(DataSourceSE dataSource, ResourceLoader resourceLoader) 指定された DataSource の新しい LocalSessionFactoryBuilder を作成します。 |
LocalSessionFactoryBuilder(DataSourceSE dataSource, ResourceLoader resourceLoader, org.hibernate.boot.MetadataSources metadataSources) 指定された DataSource の新しい LocalSessionFactoryBuilder を作成します。 |
add, addAnnotatedClass, addAttributeConverter, addAttributeConverter, addAttributeConverter, addAttributeConverter, addAttributeConverter, addAuxiliaryDatabaseObject, addCacheableFile, addCacheableFile, addCacheableFileStrictly, addClass, addDirectory, addDocument, addFile, addFile, addInputStream, addJar, addPackage, addProperties, addResource, addResource, addSqlFunction, addURL, addXML, buildMappings, buildSessionFactory, buildSessionFactory, configure, configure, configure, configure, configure, getCurrentTenantIdentifierResolver, getEntityNotFoundDelegate, getEntityTuplizerFactory, getInterceptor, getNamedEntityGraphs, getNamedProcedureCallMap, getNamedQueries, getNamedSQLQueries, getProperties, getProperty, getSessionFactoryObserver, getSqlFunctions, getSqlResultSetMappings, getStandardServiceRegistryBuilder, mergeProperties, registerTypeContributor, registerTypeOverride, registerTypeOverride, registerTypeOverride, reset, setEntityNotFoundDelegate, setImplicitNamingStrategy, setInterceptor, setPhysicalNamingStrategy, setProperties, setProperty, setSessionFactoryObserver, setSharedCacheModecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic LocalSessionFactoryBuilder(@Nullable DataSourceSE dataSource)
dataSource - 結果の Hibernate SessionFactory が使用する JDBC DataSource (null の場合があります)public LocalSessionFactoryBuilder(@Nullable DataSourceSE dataSource, ClassLoaderSE classLoader)
dataSource - 結果の Hibernate SessionFactory が使用する JDBC DataSource (null の場合があります)classLoader - アプリケーションクラスをロードする ClassLoaderpublic LocalSessionFactoryBuilder(@Nullable DataSourceSE dataSource, ResourceLoader resourceLoader)
dataSource - 結果の Hibernate SessionFactory が使用する JDBC DataSource (null の場合があります)resourceLoader - アプリケーションクラスをロードする ResourceLoaderpublic LocalSessionFactoryBuilder(@Nullable DataSourceSE dataSource, ResourceLoader resourceLoader, org.hibernate.boot.MetadataSources metadataSources)
dataSource - 結果の Hibernate SessionFactory が使用する JDBC DataSource (null の場合があります)resourceLoader - アプリケーションクラスをロードする ResourceLoadermetadataSources - 使用する Hibernate MetadataSources サービス (たとえば既存のものを再利用する)public LocalSessionFactoryBuilder setJtaTransactionManager(ObjectSE jtaTransactionManager)
JtaTransactionManager または JTA TransactionManagerSE がある場合は、それを設定します。"hibernate.transaction.jta.platform" が自動的に設定された状態で、Hibernate 5 のセッションとキャッシュの同期に Spring 管理のトランザクションマネージャーを使用できるようにします。 渡された Spring JtaTransactionManager は、WebSphereExtendedJtaPlatform を自動的に設定する WebSphere の場合を除き、ここで使用できるように JTA TransactionManagerSE 参照を含む必要があります。
メモ: これが設定されている場合、Hibernate 設定には、意味のない二重構成を避けるために JTA プラットフォーム設定を含めないでください。
public LocalSessionFactoryBuilder setBeanContainer(ConfigurableListableBeanFactory beanFactory)
ConfigurableListableBeanFactory の Hibernate BeanContainer を設定します。メモ: Bean コンテナーの統合には、Hibernate 5.3 以上が必要です。Hibernate 属性コンバーターとエンティティリスナーのオートワイヤーを有効にします。
SpringBeanContainer, AvailableSettings.BEAN_CONTAINERpublic LocalSessionFactoryBuilder setCacheRegionFactory(RegionFactory cacheRegionFactory)
RegionFactory を SessionFactory に使用するように設定します。Spring 管理の RegionFactory インスタンスを使用できます。メモ: これが設定されている場合、Hibernate 設定では、意味のない二重構成を避けるためにキャッシュプロバイダーを定義しないでください。
AvailableSettings.CACHE_REGION_FACTORYpublic LocalSessionFactoryBuilder setMultiTenantConnectionProvider(org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider multiTenantConnectionProvider)
MultiTenantConnectionProvider を設定します。public void setCurrentTenantIdentifierResolver(CurrentTenantIdentifierResolver currentTenantIdentifierResolver)
CurrentTenantIdentifierResolver を SessionFactory に確実に渡すためにオーバーライドされます。Configuration の setCurrentTenantIdentifierResolver AvailableSettings.MULTI_TENANT_IDENTIFIER_RESOLVERpublic LocalSessionFactoryBuilder setEntityTypeFilters(TypeFilter... entityTypeFilters)
デフォルトでは、指定されたすべてのパッケージで @javax.persistence.Entity、@javax.persistence.Embeddable または @javax.persistence.MappedSuperclass のアノテーションが付けられたクラスを検索します。
public LocalSessionFactoryBuilder addAnnotatedClasses(ClassSE<?>... annotatedClasses)
public LocalSessionFactoryBuilder addPackages(StringSE... annotatedPackages)
public LocalSessionFactoryBuilder scanPackages(StringSE... packagesToScan) throws HibernateException
Configuration でアノテーション付きクラスとして登録します。packagesToScan - 1 つ以上の Java パッケージ名 HibernateException - 何らかの理由でスキャンが失敗した場合 public SessionFactory buildSessionFactory(AsyncTaskExecutor bootstrapExecutor)
SessionFactory を構築し、並列初期化フェーズに指定されたエグゼキューター(例: SimpleAsyncTaskExecutor)を使用します。SessionFactory の初期化はバックグラウンドブートストラップモードに切り替わり、Hibernate のブートストラップが完了するのを待つのではなく、SessionFactory プロキシがインジェクションの目的で直ちに返されます。ただし、SessionFactory メソッドの最初の実際の呼び出しは、Hibernate のブートストラップが完了するまでブロックされます(それまでに準備ができていない場合)。最大限の利益を得るには、メタデータのイントロスペクションの目的であっても、関連する Bean の init メソッドでの初期の SessionFactory 呼び出しを避けてください。
Configuration.buildSessionFactory()