クラス 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 PersistenceExceptionEE インスタンスも変換します。

LocalSessionFactoryBean によって拡張されるため、LocalSessionFactoryBean に加えてこのトランスレータを宣言する必要はありません。

@Configuration クラスでコンテナーを構成する場合、この型の @Bean を手動で登録する必要があります。

導入:
4.2
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • HibernateExceptionTranslator

      public HibernateExceptionTranslator()
  • メソッドの詳細

    • setJdbcExceptionTranslator

      public void setJdbcExceptionTranslator(SQLExceptionTranslator jdbcExceptionTranslator)
      Hibernate 例外変換の目的で JDBC 例外トランスレーターを設定します。

      Hibernate JDBCException の検出された SQLExceptionSE 根本原因に適用され、Hibernate 自身の SQLException 変換をオーバーライドします(特定のターゲットデータベースの Hibernate ダイアレクトに基づきます)。

      導入:
      5.1
      関連事項:
    • translateExceptionIfPossible

      @Nullable public DataAccessException translateExceptionIfPossible(RuntimeExceptionSE ex)
      インターフェースからコピーされた説明: PersistenceExceptionTranslator
      可能であれば、永続フレームワークによってスローされた特定のランタイム例外を、Spring の汎用 DataAccessException 階層からの対応する例外に変換します。

      このトランスレータが理解できない例外は変換しないでください。たとえば、別の永続化フレームワークが原因である場合や、ユーザーコードが原因である場合や、永続性に関係のない場合などです。

      特に重要なのは、制約違反などで、DataIntegrityViolationException に正しく変換することです。実装では、Spring JDBC の高度な例外変換を使用して、根本的な原因として SQLException のイベントに関する詳細情報を提供できます。

      次で指定:
      インターフェース PersistenceExceptionTranslatortranslateExceptionIfPossible 
      パラメーター:
      ex - 変換する RuntimeException
      戻り値:
      対応する DataAccessException (または、例外を変換できなかった場合は null。この場合、実際の永続性の問題ではなく、ユーザーコードが原因である可能性があります。)
      関連事項:
    • convertHibernateAccessException

      protected DataAccessException convertHibernateAccessException(HibernateException ex)
      指定された HibernateException を org.springframework.dao 階層からの適切な例外に変換します。

      指定された SQLExceptionTranslator を Hibernate JDBCException に自動的に適用します。それ以外の場合は、Hibernate のデフォルトの変換に依存します。

      パラメーター:
      ex - 発生した HibernateException
      戻り値:
      対応する DataAccessException
      関連事項: