クラス HibernateTransactionManager
- 実装されたすべてのインターフェース:
SerializableSE
、Aware
、BeanFactoryAware
、InitializingBean
、ConfigurableTransactionManager
、PlatformTransactionManager
、ResourceTransactionManager
、TransactionManager
SessionFactory
の PlatformTransactionManager
実装。指定されたファクトリから Hibernate セッションをスレッドにバインドし、潜在的にファクトリごとに 1 つのスレッドバインドセッションを許可します。SessionFactory.getCurrentSession()
は、このトランザクション処理メカニズムをサポートする必要がある Hibernate アクセスコードに必要です。SessionFactory は SpringSessionContext
で構成されています。カスタム分離レベルと、Hibernate トランザクションタイムアウトとして適用されるタイムアウトをサポートします。
このトランザクションマネージャーは、トランザクションデータアクセスに単一の Hibernate SessionFactory を使用するアプリケーションに適していますが、トランザクション内での直接 DataSource アクセス(つまり、同じ DataSource で動作するプレーンな JDBC コード)もサポートします。これにより、Hibernate にアクセスするサービスとプレーンな JDBC を使用するサービスを混合できます(Hibernate を意識することなく)。アプリケーションコードは、DataSourceTransactionManager
と同じ単純な接続ルックアップパターン(つまり、DataSourceUtils.getConnection(javax.sql.DataSource)
または TransactionAwareDataSourceProxy
を経由する)に固執する必要があります。
メモ: プレーン JDBC コードの DataSource の接続を登録できるようにするには、このインスタンスが DataSource(setDataSource(javax.sql.DataSource)
)を認識している必要があります。与えられた DataSource は明らかに与えられた SessionFactory によって使用されたものと一致するはずです。
JTA(通常は JtaTransactionManager
を使用)は、同じトランザクション内の複数のトランザクションリソースにアクセスするために必要です。Hibernate が使用する DataSource は、このようなシナリオで JTA 対応にする必要があります(コンテナーのセットアップを参照)。
このトランザクションマネージャーは、JDBC セーブポイントを介してネストされたトランザクションをサポートします。ただし、ネストされたトランザクションは JDBC 接続にのみ適用され、Hibernate セッションとそのキャッシュされたエンティティオブジェクトおよび関連コンテキストには適用されないため、AbstractPlatformTransactionManager.setNestedTransactionAllowed(boolean)
"nestedTransactionAllowed"} フラグはデフォルトで "false" に設定されます。Hibernate トランザクションに参加する JDBC アクセスコードにネストされたトランザクションを使用する場合は、フラグを手動で "true" に設定できます (JDBC ドライバーがセーブポイントをサポートしている場合)。Hibernate 自体はネストされたトランザクションをサポートしていないことに注意してください。Hibernate アクセスコードが意味的にネストされたトランザクションに参加することは期待しないでください。
NOTE: Hibernate ORM 6.x は、JPA プロバイダーとしてのみ公式にサポートされています。代わりに LocalContainerEntityManagerFactoryBean
と JpaTransactionManager
を使用してください。
フィールドサマリー
クラス org.springframework.transaction.support.AbstractPlatformTransactionManager から継承されたフィールド
logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION
コンストラクターのサマリー
コンストラクター説明新しい HibernateTransactionManager インスタンスを作成します。HibernateTransactionManager
(SessionFactory sessionFactory) 新しい HibernateTransactionManager インスタンスを作成します。方法の概要
修飾子と型メソッド説明void
protected DataAccessException
指定された HibernateException をorg.springframework.dao
階層からの適切な例外に変換します。protected void
disconnectOnCompletion
(Session session) トランザクションの完了時に既存の Hibernate セッションを切断し、データベース接続を返しますが、エンティティの状態は保持します。protected void
doBegin
(ObjectSE transaction, TransactionDefinition definition) 指定されたトランザクション定義に従って、セマンティクスで新しいトランザクションを開始します。protected void
doCleanupAfterCompletion
(ObjectSE transaction) トランザクション完了後にリソースをクリーンアップします。protected void
doCommit
(DefaultTransactionStatus status) 指定されたトランザクションの実際のコミットを実行します。protected ObjectSE
現在のトランザクション状態のトランザクションオブジェクトを返します。protected void
現在のトランザクションのリソースを再開します。protected void
doRollback
(DefaultTransactionStatus status) 指定されたトランザクションの実際のロールバックを実行します。protected void
指定されたトランザクションをロールバックのみに設定します。protected ObjectSE
現在のトランザクションのリソースを一時停止します。このインスタンスがトランザクションを管理する JDBC DataSource を返します。現在の Hibernate エンティティインターセプターを返します。存在しない場合はnull
を返します。このトランザクションマネージャーが操作するリソースファクトリ (JDBC DataSource や JMS ConnectionFactory など) を返します。このインスタンスがトランザクションを管理する SessionFactory を返します。protected boolean
isExistingTransaction
(ObjectSE transaction) 指定されたトランザクションオブジェクトが既存のトランザクション(つまり、すでに開始されているトランザクション)を示しているかどうかを確認します。protected final SessionFactory
実際に使用するために SessionFactory を取得します。void
setAllowResultAccessAfterCompletion
(boolean allowResultAccessAfterCompletion) 使用すべきではありません。5.3.29 以降は、Hibernate 5.x がコミット時に ResultSets を積極的に閉じるため、ResultSet の保持性に依存できなくなります。void
setAutodetectDataSource
(boolean autodetectDataSource) LocalSessionFactoryBean のsetDataSource
を介して設定されている場合、Hibernate SessionFactory によって使用される JDBC DataSource を自動検出するかどうかを設定します。void
setBeanFactory
(BeanFactory beanFactory) Bean ファクトリは、エンティティインターセプター Bean 名を解決するために必要なだけです。void
setDataSource
(DataSourceSE dataSource) このインスタンスがトランザクションを管理する JDBC DataSource を設定します。void
setEntityInterceptor
(Interceptor entityInterceptor) データベースへの書き込みおよびデータベースからの読み取りを行う前に、プロパティ値をインスペクションおよび変更できる Hibernate エンティティインターセプターを設定します。void
setEntityInterceptorBeanName
(StringSE entityInterceptorBeanName) データベースへの書き込みおよびデータベースからの読み取りを行う前に、プロパティ値をインスペクションおよび変更できる Hibernate エンティティインターセプターの Bean 名を設定します。void
setHibernateManagedSession
(boolean hibernateManagedSession) Spring 管理のセッションではなく Hibernate 管理のセッションを操作するかどうか、つまり、SessionFactory.openSession()
ではなく Hibernate のSessionFactory.getCurrentSession()
を介してセッションを取得するかどうかを設定します(SpringTransactionSynchronizationManager
チェックを前に付けます)。void
setPrepareConnection
(boolean prepareConnection) トランザクション Hibernate セッションの基盤となる JDBC 接続を準備するかどうか、つまり、基盤となる JDBC 接続にトランザクション固有の分離レベルやトランザクションの読み取り専用フラグを適用するかどうかを設定します。void
setSessionFactory
(SessionFactory sessionFactory) このインスタンスがトランザクションを管理する SessionFactory を設定します。void
setSessionInitializer
(ConsumerSE<Session> sessionInitializer) このHibernateTransactionManager
によって管理される新しいトランザクション用に作成されたすべての HibernateSession
リソースをカスタマイズするためのコールバックを指定します。クラス org.springframework.transaction.support.AbstractPlatformTransactionManager から継承されたメソッド
commit, determineTimeout, getDefaultTimeout, getTransaction, getTransactionExecutionListeners, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, prepareForCommit, prepareSynchronization, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionExecutionListeners, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.transaction.ConfigurableTransactionManager から継承されたメソッド
addListener
インターフェース org.springframework.transaction.PlatformTransactionManager から継承されたメソッド
commit, getTransaction, rollback
コンストラクターの詳細
HibernateTransactionManager
public HibernateTransactionManager()新しい HibernateTransactionManager インスタンスを作成します。SessionFactory を使用できるように設定する必要があります。HibernateTransactionManager
新しい HibernateTransactionManager インスタンスを作成します。- パラメーター:
sessionFactory
- トランザクションを管理する SessionFactory
メソッドの詳細
setSessionFactory
このインスタンスがトランザクションを管理する SessionFactory を設定します。getSessionFactory
このインスタンスがトランザクションを管理する SessionFactory を返します。obtainSessionFactory
実際に使用するために SessionFactory を取得します。- 戻り値:
- SessionFactory (非
null
) - 例外:
IllegalStateExceptionSE
- SessionFactory セットがない場合- 導入:
- 5.0
setDataSource
このインスタンスがトランザクションを管理する JDBC DataSource を設定します。DataSource は、Hibernate または SessionFactory で使用されるものと一致する必要があります。たとえば、両方に同じ JNDI DataSource を指定できます。
SessionFactory が LocalDataSourceConnectionProvider で構成されている場合、つまり、指定された "dataSource" を持つ Spring の LocalSessionFactoryBean によって構成されている場合、DataSource は自動的に検出されます。DataSource を明示的に指定することもできますが、この場合はその必要はありません。
この DataSource のトランザクション JDBC 接続は、DataSourceUtils または JdbcTemplate を介してこの DataSource に直接アクセスするアプリケーションコードに提供されます。接続は Hibernate セッションから取得されます。
ここで指定する DataSource は、TransactionAwareDataSourceProxy ではなく、トランザクションを管理するターゲット DataSource である必要があります。データアクセスコードのみが TransactionAwareDataSourceProxy で機能しますが、トランザクションマネージャーは基になるターゲット DataSource で機能する必要があります。それでも TransactionAwareDataSourceProxy が渡された場合、ターゲット DataSource を抽出するためにラップ解除されます。
注意: Hibernate のキャッシュからデータを読み取るだけの (実際にはデータベースにアクセスしない) トランザクションが多数あるシナリオでは、実際のターゲット DataSource に
LazyConnectionDataSourceProxy
を使用することを検討してください。または、"prepareConnection"
をfalse
に切り替えることを検討してください。どちらの場合も、このトランザクションマネージャーは、各 Hibernate セッションの JDBC 接続を積極的に取得しません。getDataSource
このインスタンスがトランザクションを管理する JDBC DataSource を返します。setAutodetectDataSource
public void setAutodetectDataSource(boolean autodetectDataSource) LocalSessionFactoryBean のsetDataSource
を介して設定されている場合、Hibernate SessionFactory によって使用される JDBC DataSource を自動検出するかどうかを設定します。デフォルトは "true" です。Hibernate トランザクションをその DataSource の JDBC トランザクションとして公開しないために、使用可能な DataSource を意図的に無視するためにオフにすることができます。
setPrepareConnection
public void setPrepareConnection(boolean prepareConnection) トランザクション Hibernate セッションの基盤となる JDBC 接続を準備するかどうか、つまり、基盤となる JDBC 接続にトランザクション固有の分離レベルやトランザクションの読み取り専用フラグを適用するかどうかを設定します。デフォルトは "true" です。このフラグをオフにすると、トランザクションマネージャーはトランザクションごとの分離レベルをサポートしなくなります。また、読み取り専用トランザクションの場合も
Connection.setReadOnly(true)
を呼び出しません。このフラグをオフにすると、接続設定は変更されないため、トランザクション後に JDBC 接続をクリーンアップする必要はありません。setAllowResultAccessAfterCompletion
@DeprecatedSE(since="5.3.29") public void setAllowResultAccessAfterCompletion(boolean allowResultAccessAfterCompletion) 使用すべきではありません。5.3.29 以降は、Hibernate 5.x がコミット時に ResultSets を積極的に閉じるため、ResultSet の保持性に依存できなくなります。また、Spring はJpaTransactionManager
に同等の設定を提供しません。通常、Hibernate の ScrollableResults メカニズムを介して、完了後に結果アクセスを許可するかどうかを設定します。デフォルトは "false" です。このフラグをオンにすると、基礎となる JDBC 接続 (
"prepareConnection"
がオンの場合) でオーバーコミット保持機能が強制され、完了時の切断ステップがスキップされます。setHibernateManagedSession
public void setHibernateManagedSession(boolean hibernateManagedSession) Spring 管理のセッションではなく Hibernate 管理のセッションを操作するかどうか、つまり、SessionFactory.openSession()
ではなく Hibernate のSessionFactory.getCurrentSession()
を介してセッションを取得するかどうかを設定します(SpringTransactionSynchronizationManager
チェックを前に付けます)。デフォルトは "false" です。つまり、Spring 管理のセッションを使用します。使用可能な場合は現在のスレッドにバインドされたセッションを取得し (たとえば、Open-Session-in-View シナリオの場合)、そうでない場合は現在のトランザクション用に新しいセッションを作成します。
Hibernate 管理のセッションの使用を強制するには、このフラグを "true" に切り替えます。これには、
SessionFactory.getCurrentSession()
が Spring 管理のトランザクションに対して呼び出されたときに常に適切なセッションを返す必要があることに注意してください。getCurrentSession()
呼び出しが失敗すると、トランザクションの開始は失敗します。通常、このモードは、Spring の TransactionSynchronizationManager 以外の場所にセッションを保存するカスタム Hibernate
CurrentSessionContext
実装と組み合わせて使用されます。また、Spring の Open-Session-in-View サポート(Spring のデフォルトSpringSessionContext
を使用)と組み合わせて使用することもできます。この場合、Spring 管理のセッションモードとは微妙に異なります。事前バインドセッションはclear()
呼び出しを受信しません(このようなシナリオでは、ロールバック時)またはdisconnect()
呼び出し(トランザクション完了時)。これはむしろ、カスタム CurrentSessionContext の実装に任されています(必要な場合)。setSessionInitializer
このHibernateTransactionManager
によって管理される新しいトランザクション用に作成されたすべての HibernateSession
リソースをカスタマイズするためのコールバックを指定します。これにより、Hibernate フィルターの設定など、アプリケーションの目的に合わせた便利なカスタマイズが可能になります。
- 導入:
- 5.3
- 関連事項:
setEntityInterceptorBeanName
データベースへの書き込みおよびデータベースからの読み取りを行う前に、プロパティ値をインスペクションおよび変更できる Hibernate エンティティインターセプターの Bean 名を設定します。このトランザクションマネージャーによって作成された新しいセッションに適用されます。セッションの作成時に Bean 名をインターセプターインスタンスに解決できるようにするには、Bean ファクトリを知っている必要があります。通常、プロトタイプインターセプター、つまりセッションごとの新しいインターセプターインスタンスに使用されます。
共有インターセプターインスタンスにも使用できますが、このようなシナリオではインターセプター参照を直接設定することをお勧めします。
- パラメーター:
entityInterceptorBeanName
- Bean ファクトリ内のエンティティインターセプターの名前- 関連事項:
setEntityInterceptor
データベースへの書き込みおよびデータベースからの読み取りを行う前に、プロパティ値をインスペクションおよび変更できる Hibernate エンティティインターセプターを設定します。このトランザクションマネージャーによって作成された新しいセッションに適用されます。このようなインターセプターは、SessionFactory レベル、つまり LocalSessionFactoryBean、またはセッションレベル、つまり HibernateTransactionManager で設定できます。
getEntityInterceptor
現在の Hibernate エンティティインターセプターを返します。存在しない場合はnull
を返します。必要に応じて、Bean ファクトリを介してエンティティインターセプター Bean 名を解決します。- 例外:
IllegalStateExceptionSE
- Bean 名が指定されているが、Bean ファクトリが設定されていない場合BeansException
- Bean ファクトリによる Bean 名前解決が失敗した場合- 関連事項:
setBeanFactory
Bean ファクトリは、エンティティインターセプター Bean 名を解決するために必要なだけです。他の動作モードに設定する必要はありません。- 次で指定:
- インターフェース
BeanFactoryAware
のsetBeanFactory
- パラメーター:
beanFactory
- 所有 BeanFactory(非null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBean
すべての Bean プロパティを設定し、BeanFactoryAware
、ApplicationContextAware
などを満たした後、包含BeanFactory
によって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
getResourceFactory
インターフェースからコピーされた説明:ResourceTransactionManager
このトランザクションマネージャーが操作するリソースファクトリ (JDBC DataSource や JMS ConnectionFactory など) を返します。このターゲットリソースファクトリは、通常、スレッドごとの
TransactionSynchronizationManager
のリソースバインディングのリソースキーとして使用されます。- 次で指定:
- インターフェース
ResourceTransactionManager
のgetResourceFactory
- 戻り値:
- ターゲットリソースファクトリ (非
null
) - 関連事項:
doGetTransaction
クラスからコピーされた説明:AbstractPlatformTransactionManager
現在のトランザクション状態のトランザクションオブジェクトを返します。返されるオブジェクトは通常、具体的なトランザクションマネージャーの実装に固有のものであり、対応するトランザクション状態を変更可能な形式で保持します。このオブジェクトは、他のテンプレートメソッド (doBegin や doCommit など) に直接、または DefaultTransactionStatus インスタンスの一部として渡されます。
返されるオブジェクトには、既存のトランザクション、つまり、トランザクションマネージャーでの現在の
getTransaction
呼び出しの前にすでに開始されているトランザクションに関する情報が含まれている必要があります。その結果、doGetTransaction
実装は通常、既存のトランザクションを探し、返されたトランザクションオブジェクトに対応する状態を格納します。- 次で指定:
- クラス
AbstractPlatformTransactionManager
のdoGetTransaction
- 戻り値:
- 現在のトランザクションオブジェクト
- 関連事項:
AbstractPlatformTransactionManager.doBegin(java.lang.Object, org.springframework.transaction.TransactionDefinition)
AbstractPlatformTransactionManager.doCommit(org.springframework.transaction.support.DefaultTransactionStatus)
AbstractPlatformTransactionManager.doRollback(org.springframework.transaction.support.DefaultTransactionStatus)
DefaultTransactionStatus.getTransaction()
isExistingTransaction
クラスからコピーされた説明:AbstractPlatformTransactionManager
指定されたトランザクションオブジェクトが既存のトランザクション(つまり、すでに開始されているトランザクション)を示しているかどうかを確認します。結果は、新しいトランザクションに対して指定された伝播動作に従って評価されます。既存のトランザクションが中断される(PROPAGATION_REQUIRES_NEW の場合)か、新しいトランザクションが既存のトランザクションに参加する可能性があります(PROPAGATION_REQUIRED の場合)。
デフォルト実装は
false
を返しますが、既存のトランザクションへの参加は一般にサポートされていないと想定しています。もちろん、サブクラスはそのようなサポートを提供することをお勧めします。- オーバーライド:
- クラス
AbstractPlatformTransactionManager
のisExistingTransaction
- パラメーター:
transaction
- doGetTransaction によって返されるトランザクションオブジェクト- 戻り値:
- 既存のトランザクションがある場合
- 関連事項:
doBegin
クラスからコピーされた説明:AbstractPlatformTransactionManager
指定されたトランザクション定義に従って、セマンティクスで新しいトランザクションを開始します。伝播動作の適用を気にする必要はありません。これは、この抽象マネージャーによってすでに処理されているためです。このメソッドは、トランザクションマネージャーが実際に新しいトランザクションを開始することを決定したときに呼び出されます。以前にトランザクションがなかったか、前のトランザクションが中断されています。
特別なシナリオは、セーブポイントのないネストされたトランザクションです:
useSavepointForNestedTransaction()
が "false" を返す場合、このメソッドは、必要に応じてネストされたトランザクションを開始するために呼び出されます。このようなコンテキストでは、アクティブなトランザクションがあります。このメソッドの実装はこれを検出し、適切なネストされたトランザクションを開始する必要があります。- 次で指定:
- クラス
AbstractPlatformTransactionManager
のdoBegin
- パラメーター:
transaction
-doGetTransaction
によって返されるトランザクションオブジェクトdefinition
- 伝播動作、分離レベル、読み取り専用フラグ、タイムアウト、トランザクション名を記述する TransactionDefinition インスタンス
doSuspend
クラスからコピーされた説明:AbstractPlatformTransactionManager
現在のトランザクションのリソースを一時停止します。トランザクションの同期はすでに中断されています。トランザクションの一時停止が一般的にサポートされていないと仮定すると、デフォルトの実装は TransactionSuspensionNotSupportedException をスローします。
- オーバーライド:
- クラス
AbstractPlatformTransactionManager
のdoSuspend
- パラメーター:
transaction
-doGetTransaction
によって返されるトランザクションオブジェクト- 戻り値:
- 中断されたリソースを保持するオブジェクト (doResume に渡すために検査されないままになります)
- 関連事項:
doResume
クラスからコピーされた説明:AbstractPlatformTransactionManager
現在のトランザクションのリソースを再開します。トランザクションの同期はその後再開されます。トランザクションの一時停止が一般的にサポートされていないと仮定すると、デフォルトの実装は TransactionSuspensionNotSupportedException をスローします。
- オーバーライド:
- クラス
AbstractPlatformTransactionManager
のdoResume
- パラメーター:
transaction
-doGetTransaction
によって返されるトランザクションオブジェクトsuspendedResources
- doSuspend によって返される、中断されたリソースを保持するオブジェクト- 関連事項:
doCommit
クラスからコピーされた説明:AbstractPlatformTransactionManager
指定されたトランザクションの実際のコミットを実行します。実装では、「新規トランザクション」フラグまたはロールバック専用フラグを確認する必要はありません。これはすでに以前に処理されています。通常、渡されたステータスに含まれるトランザクションオブジェクトに対してストレートコミットが実行されます。
- 次で指定:
- クラス
AbstractPlatformTransactionManager
のdoCommit
- パラメーター:
status
- トランザクションのステータス表現- 関連事項:
doRollback
クラスからコピーされた説明:AbstractPlatformTransactionManager
指定されたトランザクションの実際のロールバックを実行します。実装では、「新しいトランザクション」フラグを確認する必要はありません。これはすでに以前に処理されています。通常、渡されたステータスに含まれるトランザクションオブジェクトに対してストレートロールバックが実行されます。
- 次で指定:
- クラス
AbstractPlatformTransactionManager
のdoRollback
- パラメーター:
status
- トランザクションのステータス表現- 関連事項:
doSetRollbackOnly
クラスからコピーされた説明:AbstractPlatformTransactionManager
指定されたトランザクションをロールバックのみに設定します。現在のトランザクションが既存のトランザクションに参加している場合にのみ、ロールバック時に呼び出されます。既存のトランザクションへの参加は一般にサポートされていないと想定して、デフォルトの実装は IllegalTransactionStateException をスローします。もちろん、サブクラスはそのようなサポートを提供することをお勧めします。
- オーバーライド:
- クラス
AbstractPlatformTransactionManager
のdoSetRollbackOnly
- パラメーター:
status
- トランザクションのステータス表現
doCleanupAfterCompletion
クラスからコピーされた説明:AbstractPlatformTransactionManager
トランザクション完了後にリソースをクリーンアップします。doCommit
およびdoRollback
の実行後に、結果について呼び出されます。デフォルトの実装は何もしません。例外をスローするべきではなく、エラーに対して警告を発行するだけです。
- オーバーライド:
- クラス
AbstractPlatformTransactionManager
のdoCleanupAfterCompletion
- パラメーター:
transaction
-doGetTransaction
によって返されるトランザクションオブジェクト
disconnectOnCompletion
トランザクションの完了時に既存の Hibernate セッションを切断し、データベース接続を返しますが、エンティティの状態は保持します。デフォルトの実装では、
Session.disconnect()
と同等のものを呼び出します。サブクラスは、ノーオペレーションまたは微調整された切断ロジックでこれをオーバーライドできます。- パラメーター:
session
- 切断する Hibernate セッション- 関連事項:
convertHibernateAccessException
指定された HibernateException をorg.springframework.dao
階層からの適切な例外に変換します。- パラメーター:
ex
- 発生した HibernateException- 戻り値:
- 対応する DataAccessException
- 関連事項: