是单独使用hibernate,不用事务。
Session session = SessionFactory.openSession(); session.save(); session.close();
如果第二行报错了,session会自己关闭吗?否则都要外面捕获,太难看了。save内部对于出错的时候有自己关闭吗?
trycatchfinal不会的,按照接口隔离原则,save里面不会去关闭session的回复<aclass='referer'target='_blank'>@铂金小虫:是要老老实实的写的,我们总结的就是,任何涉及资源的释放问题,一律try{}finally{},不知道哪里难看了...恩,hibernate和spring整合后,因为有opensessioninview,所以就算是报错,连接没有关闭,最后请求结束时还是会被关闭的。如果不用spring或者opensessioninvew,估计都要老实的捕获,或者用事务。要么把关闭操作放在finnally,要么使用事务吧一楼正解啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。