2012-03-01 88 views
0

在Hibernate中,在从数据库中获取OBJECT时发生错误。你们可以请让我知道在什么情况下会发生这种错误? 代码中没有任何更改。多年来,相同的代码已成功运行。Hibernate:java.sql.SQLException:在事务回滚之后尝试继续工作

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

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) 
+0

我认为问题是与服务器端... – 2012-03-01 09:20:21

回答

0

我猜,代码(服务器端)总有其简单地隐藏,因为从来没有一个事务回滚的错误。因此,首先需要检查为什么事务现在失败(数据库完整性问题或模式已更改?),接下来,必须添加一个模拟回滚并修复服务器代码的测试。