检查会话工厂是否具有活动会话

时间:2015-10-04 12:43:21

标签: hibernate session java-ee

我想检查SessionFactory对象是否具有活动会话以及它是否绑定到线程。如果没有会话,getCurrentSession会创建一个新会话,但我只是想知道是否存在会话,如果不存在则不创建会话,类似于HTTPSession中的request.getSession(false)。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

不,没有。 Hibernate SessionFactoryImpl使用名为“CurrentSessionContext”的会话管理接口。每个实现者使用不同的方法来管理当前会话。因此,您可以使用反射api编写一些代码来达到特定实现的内部状态,但它非常麻烦。但没有直接的方式。