Hibernate:java.sql.SQLException:尝试在事务回滚后继续工作

时间:2012-03-01 09:12:35

标签: java hibernate jdbc transactions sqlexception

在Hibernate中,在发生错误时从数据库中获取OBJECT。你们能告诉我这个错误会在什么条件下发生吗? 代码中没有任何更改。同一段代码已成功运行多年。

此例外的可能原因是什么?任何建议都是受欢迎的。非常感谢: - )

java.sql.SQLException: Attempt to continue working after transaction rolledback !
at com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.java:1376)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:701)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:2084)
at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:2039)
at net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(BatcherImpl.java:257)
at net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(BatcherImpl.java:232)
at net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:65)
at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:779)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:265)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:911)
at net.sf.hibernate.loader.Loader.loadEntity(Loader.java:931)
at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:59)
at net.sf.hibernate.loader.EntityLoader.load(EntityLoader.java:51)
at net.sf.hibernate.persister.EntityPersister.load(EntityPersister.java:419)
at net.sf.hibernate.impl.SessionImpl.doLoad(SessionImpl.java:2117)
at net.sf.hibernate.impl.SessionImpl.doLoadByClass(SessionImpl.java:1991)
at net.sf.hibernate.impl.SessionImpl.get(SessionImpl.java:1927)

1 个答案:

答案 0 :(得分:0)

我猜,代码(服务器端)总是有一个只是隐藏的错误,因为从来没有事务回滚。

首先,需要检查,为什么事务现在失败(数据库完整性问题或架构已更改?)接下来,必须添加一个模拟回滚并修复服务器代码的测试。