Hibernate 事务跨越多个EJB实例

Hibernate 事务跨越多个EJB实例,hibernate,ejb,Hibernate,Ejb,我花了两天时间来解决Hibernate事务问题 我正在使用WebSphere5.1(J2EE1.4),部署了两个EJB,它们使用Hibernate作为ORM 这是我们正在使用的配置 逻辑是这样的: EJB1.business_logic() context.lookup(EJB2) for x times EJB2.save_to_Hibernate() end end 问题是我希望有一个单独的事务,其中对EJB2.save_to_Hibernate()的

我花了两天时间来解决Hibernate事务问题

我正在使用WebSphere5.1(J2EE1.4),部署了两个EJB,它们使用Hibernate作为ORM

这是我们正在使用的配置

逻辑是这样的:

EJB1.business_logic()
    context.lookup(EJB2)
    for x times
       EJB2.save_to_Hibernate()
    end
end
问题是我希望有一个单独的事务,其中对EJB2.save_to_Hibernate()的每个调用都提交到数据库中。我希望将EJB2.save_to_Hibernate()标记为RequiresNew可以完成工作,但从未工作过

我尝试过很多选择。它总是在EJB1.business_logic()方法退出时提交


有什么问题吗?

它在Glassfish 3.1上运行得很好(但它是Java EE 6,所以世界完全不同)。EJB2与EJB1是不同的EJB,因此您不可能调用本地调用而不是EJB业务调用?您是否尝试使用BMT为
save\u to\u Hibernate()
显式提交事务。对于CMT,您可以尝试刷新更改。