课程
/后端开发
/Java
/Hibernate初探之单表映射
感觉能用第二种方式的时候也可以用openSeesion呀,getCurrentSession就感觉没什么用了
2015-05-27
源自:Hibernate初探之单表映射 2-5
正在回答
openSession 每次使用都是打开一个新的session,使用完需要调用close方法关闭session;
getCurrentSession 是获取当前session对象,连续使用多次时,得到的session都是同一个对象,这就是与openSession的区别之一 ;
一般在实际开发中,往往使用getCurrentSession多,因为一般是处理同一个事务,所以在一般情况下比较少使用openSession;
AndyHT 提问者
也是我想问的,学习了
对2楼的补充,openSession存在线程并发问题,而getCurrentSession的方式获取会话,一个用户拿到会话会自动的绑定一个线程,直到当前session失效,hibernater会将线程剥离会话,保证了每个用户操作数据的唯一性
举报
Java持久化框架Hibernate入门教程,掌握Hibernate基本概念
1 回答第二种获取方式测试不通过
1 回答在使用这两种获取session时候报错
4 回答我使用Hibernate5.2,在没关闭session的情况下测试发现connection hashcode都是一样的
1 回答这种情况该怎么解决呢
2 回答说明两种获取Session对象的方法会自动关闭可以用这个例子不是更好点