SessionFactory.close()和close(session)的区别

bear234 2013-08-24 11:22:55
用hibernate-struts-spring做东西

在做有关DAO的部分

创建了一个SessionFactory以创建若干个Session(SessionFactory.openSession())

使用Session需要关闭的时候

出现了题目中的问题

是应该session.close()呢 还是 SessionFactory.close()?

谢谢
...全文
304 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wind_elf 2013-08-25
  • 打赏
  • 举报
回复
SessionFactory是Session工厂,也就是一个SessionFactory可以在需要Session的时候就产出一个。当你不再需要SessionFactory的时候就可以调用HibernateDB里面的close()方法了。一般是不会调用的。
bear234 2013-08-25
  • 打赏
  • 举报
回复
public class HibernateDB { private SessionFactory sessionFactory = (new Configuration().configure()).buildSessionFactory(); public Session connect() { return this.sessionFactory.openSession(); } public void close() { this.sessionFactory.close(); } } public interface DAOClient{//save update etc...} public class DAOClientImpl extends HibernateDB implements DAOClient{ //具体实现save等方法 比如findAll public ArrayList<Client> findAll(){ Session session = connect(); //读取出数据库中相关数据 形成一个ArrayList //这里,上面的session用完了 所以应该session.close()???? //返回上面形成的ArrayList } } 那么 什么时候应该调用HibernateDB里面的close方法???

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧