要显示的调用EJBContext.rollBack();

解决方案 »

  1.   

    显式的调用rollback的话,那还要容器管理干什么??
      

  2.   

    你的这段代码可能压根就没运行到条件判断的地方,已经抛出SQLException而中止了
      

  3.   

    没有SQLException,I'm sure.
    我现在就是要让程序抛出异常,然后由容器拦截进而执行回滚操作
      

  4.   

    有两种让容器回滚的方法,首先确定你在一个CMT的Bean里面,transaction属性应该为required或者更高,然后你可以通过抛EJBException到容器或者调用EJBContext.rollBack()这两种方法回滚。如果是分布式事务(比如,多个数据库实例参与),那么每个数据库都要支持XA才行。
    你的代码应该没什么问题,应该是你部署描述符或者其他地方哪里配置错了吧?