@DeprecatedSE public class HibernateExceptionTranslator extends ObjectSE implements PersistenceExceptionTranslator
HibernateException インスタンスを Spring の DataAccessException 階層に変換できる PersistenceExceptionTranslator。LocalSessionFactoryBean によって拡張されるため、LocalSessionFactoryBean に加えてこのトランスレータを宣言する必要はありません。
@Configuration クラスでコンテナーを構成する場合、この型の @Bean を手動で登録する必要があります。
PersistenceExceptionTranslationPostProcessor, SessionFactoryUtils.convertHibernateAccessException(HibernateException), SQLExceptionTranslator| コンストラクターと説明 |
|---|
HibernateExceptionTranslator() 使用すべきではありません。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected DataAccessException | convertHibernateAccessException(HibernateException ex) 使用すべきではありません。 指定された HibernateException を org.springframework.dao 階層からの適切な例外に変換します。 |
void | setJdbcExceptionTranslator(SQLExceptionTranslator jdbcExceptionTranslator) 使用すべきではありません。 PersistenceExceptionTranslator インターフェースを介して公開される、SessionFactory の JDBC 例外トランスレータを設定します。 |
DataAccessException | translateExceptionIfPossible(RuntimeExceptionSE ex) 使用すべきではありません。 可能であれば、永続フレームワークによってスローされた特定のランタイム例外を、Spring の汎用 DataAccessException 階層からの対応する例外に変換します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void setJdbcExceptionTranslator(SQLExceptionTranslator jdbcExceptionTranslator)
Hibernate JDBCException のあらゆる SQLException 根本原因に適用され、Hibernate のデフォルトの SQLException 変換 (特定のターゲットデータベースの Hibernate のダイアレクトに基づく) をオーバーライドします。
jdbcExceptionTranslator - 例外変換者 SQLExceptionSE, JDBCException, SQLErrorCodeSQLExceptionTranslator, SQLStateSQLExceptionTranslator, PersistenceExceptionTranslatorpublic DataAccessException translateExceptionIfPossible(RuntimeExceptionSE ex)
PersistenceExceptionTranslatorDataAccessException 階層からの対応する例外に変換します。このトランスレータが理解できない例外は変換しないでください。たとえば、別の永続化フレームワークが原因である場合や、ユーザーコードが原因である場合や、永続性に関係のない場合などです。
特に重要なのは、制約違反などで、DataIntegrityViolationException に正しく変換することです。実装では、Spring JDBC の高度な例外変換を使用して、根本的な原因として SQLException のイベントに関する詳細情報を提供できます。
PersistenceExceptionTranslator の translateExceptionIfPossible ex - 変換する RuntimeExceptionnull。この場合、実際の永続性の問題ではなく、ユーザーコードが原因である可能性があります。)DataIntegrityViolationException, SQLExceptionTranslatorprotected DataAccessException convertHibernateAccessException(HibernateException ex)
org.springframework.dao 階層からの適切な例外に変換します。指定された SQLExceptionTranslator を Hibernate JDBCException に自動的に適用するか、Hibernate のデフォルトの変換に依存します。
ex - 発生した HibernateExceptionSessionFactoryUtils.convertHibernateAccessException(org.hibernate.HibernateException), setJdbcExceptionTranslator(org.springframework.jdbc.support.SQLExceptionTranslator)