[HIBERNATE醒目]请问如何解决commit failed的错误?

tommyhero 2004-07-29 08:45:45
我是用ejb+struts+dao的,可以查出结果来,但是会出现下面的commit failed的错误,请问大家为什么?是与事务有关系吗?
=================================================
Hibernate: select cemployee0_.EMP_ID as EMP_ID, cemployee0_.EMP_NAME as EMP_NAME
, cemployee0_.EMP_SEX as EMP_SEX, cemployee0_.DEPT_ID as DEPT_ID, cemployee0_.HE
AD_SHIP as HEAD_SHIP, cemployee0_.TELEPHONE as TELEPHONE, cemployee0_.E_MAIL as
E_MAIL, cemployee0_.PASS_WORD as PASS_WORD, cemployee0_.ROLE as ROLE from DT2MIS
.C_EMPLOYEE cemployee0_ where (cemployee0_.EMP_ID=? )
15:28:08,812 ERROR JDBCTransaction:68 - Commit failed
java.sql.SQLException: Cannot call Connection.commit in distributed transaction.
Transaction Manager will commit the resource manager when the distributed tran
saction is committed.
at weblogic.jdbc.wrapper.JTSConnection.commit(JTSConnection.java:507)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.j
ava:63)
at dt2mi.dao.ObjectDAOImpl.query2(ObjectDAOImpl.java:61)
at dt2miejb.HibernateSBBean.verifyUser(HibernateSBBean.java:35)
at dt2miejb.HibernateSB_c12qc0_EOImpl.verifyUser(HibernateSB_c12qc0_EOIm
pl.java:46)
at dt2miejb.HibernateSB_c12qc0_EOImpl_WLSkel.invoke(Unknown Source)
...全文
303 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tommyhero 2004-07-30
  • 打赏
  • 举报
回复
终于解决了!把ejb的事务管理改成“bean”就行了,太不可思议了,不但解决了我另外一个帖子中的问题,连这个问题都不再出现了。
官方文档里并没有说ejb用什么方式管理吧?我个人觉得大概的原因也许是容器管理不允许在业务中出现管理事务的代码,因为hibernate里内建了管理事务的代码,所以容器管理不行而bean管理可以。请高手指教
dropship 2004-07-30
  • 打赏
  • 举报
回复
这里不好解决这种问题。你应该去找专家。搜索以前的帖子吧,现在有点深度的问题,这里都难以解决,失望。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧