私はHibernate(3.6.9.Final)を使用するSpring MVC(3.1.1.RELEASE)アプリケーションを持っています。Log4jで構成されています。
log4j.category.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=OFF
テーブルに行を追加しようとすると、フィールドの長さが最大サイズを超えると、ログに次の例外が表示されます。
hibernateTemplate.merge(ba);
ログで:
2012-07-06 15:22:35,546 ERROR [org.hibernate.util.JDBCExceptionReporter] - <ERROR: value `too long for type character varying(70)>`
しかし一方で、私のコードでは、このDataAccessException例外だけをキャッチできます。
Could not execute JDBC batch update; SQL [insert into T_MYTABLE (BA_NUMBER, USR_ID, BA_ID) values (?, ?, ?)]; nested exception is org.hibernate.exception.DataException: Could not execute JDBC batch update"}
これは私が望む例外ではありません。
アプリケーション内でログファイルからメッセージを取得する方法を知っていますか?
HibernateExceptionをキャッチしようとしましたが、成功しませんでした。