对每一个对象,用完以后就置为null
切记!

解决方案 »

  1.   

    还是up一下hibernate 也会出现内存的问题
      

  2.   

    每个查询完加
    session.close()不知道你查询结果集是用List遍历还是Iterator   帖一部分代码和hbm文件吧
      

  3.   

    如果不是很需要的话  建议你用Iterator
      

  4.   

    LIST与ITERATOR有什么不一样吗?
      

  5.   

    ======================================
    LIST与ITERATOR有什么不一样吗?
    ======================================List一次性把所有的结果集都加载到内存里   所以可以使用List.size()方法来获取结果集大小Iterator只是取得第一条记录  然后通过.next()方法来遍历结果集  所以非常适合未知结果集大小或者结果集很大的时候翻页使用   缺点就是无法预制结果集大小  只能通过while(Iterator.haxNext())访问一般在已知结果集很小的情况下使用List遍历   我想楼主可能就是在查询时使用List加载结果集过多  当并行访问出现峰值的时候导致内存不足
      

  6.   

    谢谢
    如果把  Iterator 的内容转化一下,放到  List中可以吗?
      

  7.   

    谢谢
    如果把  Iterator 的内容转化一下,放到  List中可以吗?
    可以是可以   但是为什么哪?
      

  8.   

    hibernate如此耗内存,没商用价值。
      

  9.   

    Hibernate高手呢?来给大家解释一下啊,偶不行的
      

  10.   

    可以给显示的记录定义一个变量pageSize,代表每一页显示的记录数,然后用下面的方法:
    其中currentPage 代表页数Query q = session.createQuery(sql);
    q.setFirstResult((currentPage - 1) * pageSize);
    q.setMaxResults(pageSize);
    tx = session.beginTransaction();
    list = q.list();
    tx.commit();
      

  11.   

    ---
    hibernate如此耗内存,没商用价值。
    ---楼主设置或者程序不对  不要这么下断言  hibernate各项评分都是很高的   http://forum.javaeye.com/  这里有很多hibernate用法和优化的东西