【Hibernate学习笔记】Session清空缓存与清理缓存
1. 清空缓存
当调用session.evict(customer); 或者session.clear(); 或者session.close()方法时,Session的缓存被清空。
2. 清理缓存
Session具有一个缓存,位于缓存中的对象处于持久化状态,它和数据库中的相关记录对应,Session能够在某些时间点,按照缓存中持久化对象的属性变化来同步更新数据库,这一过程被称为清理缓存。
在默认情况下,Session会在下面的时间点清理缓存。
- 当应用程序调用org.hibernate.Transaction的commit()方法的时候,commit()方法先清理缓存,然后在向数据库提交事务;
- 当应用程序调用Session的list()或者iterate()时(【注】get()和load()方法不行),如果缓存中持久化对象的属性发生了变化,就会先清理缓存,以保证查询结果能能反映持久化对象的最新状态;
- 当应用程序显式调用Session的flush()方法的时候。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 清除session会话客户端缓存
- 下一篇: 统计字符串中字符出现次数