Hibernate中的获得session问题

Session session = HbernateSession.currentSession(),这样获取session就可以不需要读配置文件了吗?
跟以下写法是一样的吗?
Configureation conf = new Configureation().configure(); //这是加载默认的hibernate.hbm.xml配置
文件SessionFactory sessions = new buildSessionFactory();Session session = sessions.openSession()

Session session = HbernateSession.currentSession(),这样获取session就可以不需要读配置文件了吗?
你这个HbernateSession对象是哪来的,肯定也是读的配置文件

个人意见,还是在配置文件里做session配置比较好。

1.getCurrentSession()创建的session会和当前线程绑定;而openSession()不会与当前线程绑定,会重新建立session
2.getCurrentSession()的线程会在提交事务或回滚事务时关闭;而openSession()需要手动关闭
如果使用getCurrentSession()时会在配置中配置如下:
getCurrentSession()需要在hibernate.cfg.xml中进行配置

  • 如果使用的是本地事务(jdbc事务) thread
  • 如果使用的是全局事务(jta事务) jta