Я использую Postgresql, Hibernate и JPA. Всякий раз, когда в базе данных есть исключение, я получаю что-то вроде этого, что не очень полезно, поскольку оно не показывает, что на сервере БД действительно пошло не так.
Caused by: java.sql.BatchUpdateException: Batch entry 0 update foo set ALERT_FLAG='3' was aborted. Call getNextException to see the cause.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2621)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1837)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:407)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2754)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 82 more
Я хочу, чтобы сообщение об исключении из базы данных появилось в журнале приложений.
Я столкнулся с этой статьей, в которой используется Aspect для заполнения цепочки исключений, которая иначе не заполняется должным образом в случае SQLExceptions.
Есть ли способ исправить это, не используя Аспекты или какой-либо пользовательский код. Идеальное решение будет включать только изменения файла конфигурации.