Hibernate新手,如题,openSession()
方法和getCurrentSession()
方法有何种区别,二者的具体使用场景是什么???
Hibernate新手,如题,openSession()
方法和getCurrentSession()
方法有何种区别,二者的具体使用场景是什么???
4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答765 阅读✓ 已解决
2 回答1.8k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
Hibernate
openSession()
和getCurrentSession()
的区别getHiberanteTemplate 、getCurrentSession和OpenSession
采用
getCurrentSession()
创建的Session
会绑定到当前的线程中去、而采用openSession()
则不会。采用
getCurrentSession()
创建的Session
在commit
或rollback
后会自动关闭,采用openSession()
必须手动关闭。采用
getCurrentSession()
需要在hibernate.cfg.xml
配置文件中加入如下配置:如果是本地事物,及JDBC一个数据库:
如果是全局事物,及jta事物、多个数据库资源或事物资源:
使用spring的getHiberanteTemplate 就不需要考虑事务管理和session关闭的问题: