在catch到异常的地方,加入      sessionContext.setRollbackOnly();
如:
try {
  调用方法1;
  调用方法2;
}
catch(Exception e) {
  sessionContext.setRollbackOnly();
}

解决方案 »

  1.   

    cmp 是容器管理的呀,应该自动回滚,你的服务器设置好么?
      

  2.   

    to  StevenWSF(I Love This Game!!):
    服务器要怎么设置呢?我用的是jboss3.2
      

  3.   

    sessionContext.setRollbackOnly();就是设置容器回滚事务的,
    容器管理的意思是说容器会自动把一系列的操作作为一个事务来处理(具体
    由事务属性来决定),但是当有异常的时候还是要你自己设置是否回滚事务的。
    是否自动回滚事务和服务器的设置没有关系