我想问下,hibernate中session.clear()这个函数它是异步的吗???怎么样才能知道它是否返回了啊
希望各位大虾帮帮忙啊~~~

解决方案 »

  1.   

    session.clear() 清空一级缓存中所有的对象 项目中,当需要进行大批量数据一次性更新时,在不知不觉中hibernate会占用大量内存,这时就应该阶段性地调用clear()方法来清空一级缓存中的对象,控制一级缓存的大小,以避免产生内存溢出的情况 
      

  2.   

    session.clear();将session缓存的内容进行删除,但不包括操作中的对象.
    好的习惯就是调用一段存储的时候都会执行session.clear();
    现在很多封装好的框架都是这么做的。
      

  3.   

    比如说修改用户表(User)有字段的资料改了名称(原来是a,修改之后变成b)
    然后在页面上面看还是原来的数据a 但是过一段时间就页面上的值就变成了b
    这是应为session 有缓存的问题...
    所以执行session.clear(),在执行.session.merge(用户),
    这样在页面上就能看到新出的值