クラス HibernateExceptionTranslator
java.lang.ObjectSE
org.springframework.orm.hibernate5.HibernateExceptionTranslator
- 実装されたすべてのインターフェース:
PersistenceExceptionTranslator
- 既知の直属サブクラス
LocalSessionFactoryBean
public class HibernateExceptionTranslator
extends ObjectSE
implements PersistenceExceptionTranslator
HibernateException
インスタンスを Spring の DataAccessException
階層に変換できる PersistenceExceptionTranslator
。Spring 4.3.2 および Hibernate 5.2 以降、標準の JPA PersistenceException
EE インスタンスも変換します。LocalSessionFactoryBean
によって拡張されるため、LocalSessionFactoryBean
に加えてこのトランスレータを宣言する必要はありません。
@Configuration
クラスでコンテナーを構成する場合、この型の @Bean
を手動で登録する必要があります。
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected DataAccessException
指定された HibernateException をorg.springframework.dao
階層からの適切な例外に変換します。void
setJdbcExceptionTranslator
(SQLExceptionTranslator jdbcExceptionTranslator) Hibernate 例外変換の目的で JDBC 例外トランスレーターを設定します。可能であれば、永続フレームワークによってスローされた特定のランタイム例外を、Spring の汎用DataAccessException
階層からの対応する例外に変換します。
コンストラクターの詳細
HibernateExceptionTranslator
public HibernateExceptionTranslator()
メソッドの詳細
setJdbcExceptionTranslator
Hibernate 例外変換の目的で JDBC 例外トランスレーターを設定します。Hibernate
JDBCException
の検出されたSQLException
SE 根本原因に適用され、Hibernate 自身のSQLException
変換をオーバーライドします(特定のターゲットデータベースの Hibernate ダイアレクトに基づきます)。translateExceptionIfPossible
インターフェースからコピーされた説明:PersistenceExceptionTranslator
可能であれば、永続フレームワークによってスローされた特定のランタイム例外を、Spring の汎用DataAccessException
階層からの対応する例外に変換します。このトランスレータが理解できない例外は変換しないでください。たとえば、別の永続化フレームワークが原因である場合や、ユーザーコードが原因である場合や、永続性に関係のない場合などです。
特に重要なのは、制約違反などで、DataIntegrityViolationException に正しく変換することです。実装では、Spring JDBC の高度な例外変換を使用して、根本的な原因として SQLException のイベントに関する詳細情報を提供できます。
- 次で指定:
- インターフェース
PersistenceExceptionTranslator
のtranslateExceptionIfPossible
- パラメーター:
ex
- 変換する RuntimeException- 戻り値:
- 対応する DataAccessException (または、例外を変換できなかった場合は
null
。この場合、実際の永続性の問題ではなく、ユーザーコードが原因である可能性があります。) - 関連事項:
convertHibernateAccessException
指定された HibernateException をorg.springframework.dao
階層からの適切な例外に変換します。指定された SQLExceptionTranslator を Hibernate JDBCException に自動的に適用します。それ以外の場合は、Hibernate のデフォルトの変換に依存します。
- パラメーター:
ex
- 発生した HibernateException- 戻り値:
- 対応する DataAccessException
- 関連事項: