Session session = this.getHibernateTemplate().getSessionFactory().openSession();
Query   query   =   session.createQuery("select name from student where order by age desc");
List list= query.list();
session.clear();
session.close();
return list;这个查询 是经常调用的  请问一下 
session.clear();
session.close();这里 从效率和节约内存 方面 考虑  这里的session这样处理对吗  还有没有更好的方法
session.clear(); 这里有没有必要写

解决方案 »

  1.   

    为什么没有显示的开始一个事务?隐示的开始一个事务,session.close()不一定提交事务,这取决于厂商的底层实现。另外clear()是清缓存,缓存已经没有持久化对象了,事务提交还有什么意义?
      

  2.   

    那个方法是一定要的,因为Hibernate其实就是封装了JDBC的代码的框架,不关闭是不行的 ,运行多了你就知道错了,不清空对系统影响很大
      

  3.   

    一般不用,但是数据库请求多了就可能出现这种问题,session  就要清空,不然就会报错