没什么那个好那个不好的问题,看你的实际需要了
比如,你需要在程序运行过程中,
灵活的控制事务的隔离级别,就必须要用BEAN管理的事务
再比如,你需要在一个方法执行的内部,对不同的代码段
分别控制它的程序与失败,也只用BEAN管理的才可以做到其实,对于大多数应用来说用那种都一样,只不过用容器管理的方式
有关事务处理的代码,你在程序中要写的非常少

解决方案 »

  1.   

    哦,呵呵谢谢,不过怎么写呢?写道会话bean里么?
      

  2.   

    用jta还是jdbc的事务处理方式呢?
      

  3.   

    http://www.cs.unc.edu/Courses/comp190/docs/lessons/java/java_ejb_bmp/
    http://www-900.ibm.com/developerWorks/cn/java/jw-ejb20/index.shtml
      

  4.   

    用bean管理的情况下是不是要把“部署描述符”里的transaction type改为Bean啊?这种情况下起作用么?比如我在cmp的基础上做了一个class作为业务实体对象(封装了多个cmp),
    相应的业务方法也定义在这个class中,这时用session bean调用某一业务实体方法(该方法包含多个数据库操作),那么我的事务处理是写在session bean中还是在class中呢?
      

  5.   

    当然是JTA了
    至于怎么写,你到GOOGLE上输入个UserTrascation能找到成千上万的例子
      

  6.   

    推荐使用j2ee事务时,
    如果使用容器管理事务可以满足需求,则使用容器管理事务。否则不要轻易使用Bean管理事务
      

  7.   

    我觉得得在session bean里实现,因为你是跨数数据库阿。
      

  8.   

    如果cmp可以做到的话,首选容器管理。
      

  9.   

    我想cmp大部分都可以做到的,bean管理慢慢的就会被淘汰了,主要原因就是太烦了
      

  10.   

    BMP灵活性高,控制能力强,编码比较繁琐,要求高
    CMP实现简单,配置方便,易用,功能与性能都依赖于Application Server提供商
      

  11.   

    注意:容器管理的事务在发生应用程序级异常时,不会自动回滚,要加ctx.setRollbackOnly()