2 lucien0911 Lucien0911 于 2015.07.14 19:16 提问

hibernate 查询出现回滚 为什么

at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.rollback(LocalManagedConnection.java:97)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.tidyup(TxConnectionManager.java:783)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.returnManagedConnection(BaseConnectionManager2.java:453)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionClosed(TxConnectionManager.java:734)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:362)
at org.jboss.resource.adapter.jdbc.WrappedConnection.close(WrappedConnection.java:155)
at org.hibernate.connection.DatasourceConnectionProvider.closeConnection(DatasourceConnectionProvider.java:97)
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:474)
at org.hibernate.jdbc.ConnectionManager.aggressiveRelease(ConnectionManager.java:429)
at org.hibernate.jdbc.ConnectionManager.afterStatement(ConnectionManager.java:304)
at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:572)
at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:291)
at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:307)
at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:234)
at org.hibernate.loader.Loader.doQuery(Loader.java:749)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)

            数据源用的JNDI配置在JBOSS服务器下,获取连接都没有问题,但是在执行查询的时候出现了回滚,因为数据库是mysql   autocommit=true所以回滚不了,异常被抛了出来,我的问题是为什么这里查询会出现回滚?查看了hibernate和jboss源码,只能猜测是在close连接的发现连接已经断开,所以回滚,但是这项目在做JBOSS隔离之前没有这个问题,做了JBOSS隔离只有出现了这个问题,而且还不是必然的是偶然的,找了好几天,实在无能无力,求民间大神指一条明路吧

3个回答

caozhy
caozhy   Ds   Rxr 2015.07.15 05:45
Lucien0911
Lucien0911 回滚的动作出现在query里面,look异常,客户端代码段并没有事务控制,也就是一个查询还没查完,内部异常出现了回滚
2 年多之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.07.15 09:13
CSDNXIAOD
CSDNXIAOD   2015.07.16 15:29

hibernate回滚
hibernate的回滚
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片