我有一个关于在EJB,Spring和Hibernate的上下文中使用事务管理器的问题。 在我们的项目中,我们有一个标有注释@TransactionAttribute(TransactionAttributeType.REQUIRED)的EJB无状态。 到目前为止还没有进一步的交易。
现在每个EJB都调用一个服务。后者只是代表将调用重定向到最终的DAO。在每个DAO中我们使用HibernateTemplate:问题是会话在DAO中的每个get / load方法之后很快关闭。为什么呢?
如果我用经典的Hibernate Session替换HibernateTemplate(最好的方法),我调用getSession()。getTransaction()。isActive()我总是假的,但会话仍然是活动的'直到服务调用结束(上面提到的代表)。在此之后会议结束。 为什么我有这种不同的行为? 是不是Spring / hibernate能够看到EJB事务属性?
提前致谢。
的Fabio