Hibernate的学习之路十三(操作一级缓存)
2017-12-01 18:34
316 查看
前言
这里主要是说明了一级缓存session的一些操作方法。分析
1. 学习Session接口中与一级缓存相关的方法 * Session.clear() -- 清空缓存。 * Session.evict(Object entity) -- 从一级缓存中清除指定的实体对象。 * Session.flush() -- 刷出缓存
其中的clear()是清空缓存。
其中的evict(object)是删除指定内容
flush()相当于commit的作用,提前对比缓存区和快照区。
例子:
@Test public void run7(){ Session session = HibernateUtils.getSession(); Transaction tr = session.beginTransaction(); // 获取到持久态的对象 User user = session.get(User.class,1); // 重新设置新的名称 user.setName("隔离老王"); // 自动刷新缓存 session.flush(); tr.commit(); session.close(); } /** * Session.evict() -- 清除的指定的对象 */ @Test public void run6(){ Session session = HibernateUtils.getSession(); Transaction tr = session.beginTransaction(); // 最简单的证明,查询两次 User user1 = session.get(User.class, 1); System.out.println(user1.getName()); // 清除user1对象 session.evict(user1); User user2 = session.get(User.class, 1); System.out.println(user2.getName()); tr.commit(); session.close(); } /** * Session.clear() -- 清空缓存。 */ @Test public void run5(){ Session session = HibernateUtils.getSession(); Transaction tr = session.beginTransaction(); // 最简单的证明,查询两次 User user1 = session.get(User.class, 1); System.out.println(user1.getName()); // 清空缓存 session.clear(); User user2 = session.get(User.class, 1); System.out.println(user2.getName()); tr.commit(); session.close(); }
相关文章推荐
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十三(操作一级缓存)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路二十七(多对多操作级联)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路二十七(多对多操作级联)
- Hibernate的学习之路十一(Session的一级缓存和证明存在)
- Hibernate的学习之路二十七(多对多操作级联)