时间 | 学习花费时间 | 代码量 | 博客量 | 学习的知识点或缺陷 |
第十三周 | 5 | 100 | 1 | session对象的evict()和clear()的区别、refresh()和flush()的区别。
flush() flush只会操作持久化状态的对象,或者说只会操作一级缓存中的对象。flush只是执行了sql语句,但没有执行commit方法。对于临时对象和游离对象不做任何操作。
refresh() 和flush类似,只不过是方向相反。flush是把session缓存中的对象往数据库中更新,而refresh是把数据库中的对象往session缓存中更新。
evict() 该方法是从一级缓存中把持久化对象移除。
clear() 清理session中的所有缓存。 |