您的位置:首页 > 运维架构

Hibernate-openSession与getCurrentSession区别

2015-07-06 20:25 232 查看
openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session;如果使用openSession而没有手动关闭,多次之后会导致连接池溢出(Connection对象不会被释放)
getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ;
一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;
使用getCurrentSession需要在配置文件中配置
如果是本地事务(jdbc事务)
<property name="hibernate.current_session_context_class">thread
</property>
如果是全局事务 (jta事务)
<property name="hibernate.current_session_context_class">jta</property>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: