我正在使用 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
我希望来自数据库的异常消息出现在应用程序的日志中。
我碰到本文 http://erics-notes.blogspot.in/2008/03/java-sqlexception-chaining.html它使用一个方面来填充异常链,否则在 SQLException 的情况下将无法正确填充。
有没有一种方法可以在不使用方面或任何自定义代码的情况下解决此问题。理想的解决方案仅涉及配置文件更改。
这对我来说是有效的,可以获取导致问题的异常消息(Hibernate 3.2.5.ga):
catch (JDBCException jdbce) {
jdbce.getSQLException().getNextException().printStackTrace();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)