Hibernate一级缓存管理-evict和clear的用法

来源:互联网 发布:mac怎么创建快捷方式 编辑:程序博客网 时间:2024/05/16 23:33

evict方法:从一级缓存中移除一个对象

clear方法:将一级缓存中的对象全部移除

/** * 验证缓存管理的方法evict * 执行完evict之后,将会将id为5的user对象从一级缓存中移除,再次访问的话将重新查询数据库 * 该用例将发出2个select语句 */@Testpublic void testEvict(){Session session = HibernateUtil.getSession();User user1 =  (User)session.get(User.class, 5);System.out.println(user1.getName());session.evict(user1);User user2 =  (User)session.get(User.class, 5);System.out.println(user2.getName());session.close();}

/** * 验证缓存管理的方法clear * 执行clear方法之后,一级缓存中的对象全部被清除,再次查询,将从数据库中查询 * 该用例将发出2个select语句 */@Testpublic void testClear(){Session session = HibernateUtil.getSession();User user1 =  (User)session.get(User.class, 5);System.out.println(user1.getName());System.out.println("=======================");User user2 =  (User)session.get(User.class, 5);System.out.println(user2.getName());session.clear();}


public class User {private int id;private String name;private String pwd;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}