Java 打开和关闭休眠会话

Java 打开和关闭休眠会话,java,hibernate,Java,Hibernate,这就是我获取Hibernate会话和创建查询的方式 HSession.getSession().createQuery("query here").executeUpdate(); 及 hsSession是我的会话工厂所在的位置,getSession()方法返回一个新会话 (getSessionFactory().openSession();) 我想知道 调用cr.list()后会话是否仍处于活动状态 如果活动,获取此条件或执行查询方式不好?及 将会话创建为 会话s=hsSession.g

这就是我获取Hibernate会话和创建查询的方式

HSession.getSession().createQuery("query here").executeUpdate();

hsSession是我的会话工厂所在的位置,
getSession()
方法返回一个新会话

(getSessionFactory().openSession();)
我想知道

  • 调用
    cr.list()后会话是否仍处于活动状态
    
  • 如果活动,获取此条件或执行查询方式不好?及
  • 将会话创建为

    会话s=hsSession.getSession()
    s、 创建标准

    是使用会话并使用
    s.close()关闭会话的方法


    • 我今天读到了这篇文章。。。它说“当第一次调用getCurrentSession()时,会话打开,当事务结束时,会话关闭。” 所以根据这一点:如果您有一个围绕它的事务(我想您应该有),并调用transaction.commit()。。。会话已关闭。
      在你的情况下,它应该仍然是开放的


      如果我错了,请纠正我…!:)

      是的,会话将处于活动状态,直到您关闭它。您可以对一个会话执行多个操作,但只有
      close()
      将关闭它

      在您的情况下,会话似乎由
      HSession
      控制。您需要查看它,以查看是否执行了任何事务,会话是如何管理的,等等

      (getSessionFactory().openSession();)