两个数据库的操作在同一方法里就应该进行回滚。你的事物类型是什么?设为required应该可以

解决方案 »

  1.   

    >>>后来我又用试在会话bean中用bean来管理事务,可是结果也一样,事物没有回滚回来.把代码帖出来~
      

  2.   

    <assembly-descriptor>
            <container-transaction>
                <method>
                    <ejb-name>Session</ejb-name>
                    <method-name>*</method-name>
                </method>
                <trans-attribute>Required</trans-attribute>
            </container-transaction>
    <assembly-descriptor>
    加上了么
      

  3.   

    谢谢楼上的兄弟们,
    上面的问题我已经解决了,我在会话Bean的方法里面加上了 sessionContext.setRollbackOnly();设置事务点,用sessionContext.getRollbackOnly();进行回滚. 事务回滚成功了.
    上面代码的环境是这样的,实体Bean A ,和实体Bean B,还有会话Bean是打在一个jar 包里面的. 
    我现在出现了新的问题.大家看看是怎么回事.
    我现在在会话Bean的方法里面Lookup一个另外一个jar包里面的实体Bean C 这时候weblogic老是出错,难道不在一个jar 包里面就不可以进行事务吗?下面是weblogic 异常
    [weblogic.transaction.internal.AppSetRollbackOnlyException]
    weblogic.transaction.internal.AppSetRollbackOnlyException
            <<no stack trace available>>
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Unknown reason - with nested exception:
    [weblogic.transaction.internal.AppSetRollbackOnlyException]
            <<no stack trace available>>
      

  4.   

    weblogic对于本地接口的引用,要放同一个包~!至于事务你再试试~~关注~