作者:yvli心语 | 来源:互联网 | 2023-09-25 10:35
java中Hibernate缓存:1、一级缓存,是session级别,如果关闭session就没了;2、二级缓存,是由第三方提供以插件的形式存在;3、查询缓存,是针对普通属性结果
/**
* 此时会发出一条sql,将所有学生全部查询出来,并放到session的一级缓存当中
* 当再次查询学生信息时,会首先去缓存中看是否存在,如果不存在,再去数据库中查询
* 这就是hibernate的一级缓存(session缓存)
*/
List stus = (List)session.createQuery("from Student")
.setFirstResult(0).setMaxResults(30).list();
Student stu = (Student)session.load(Student.class, 1);
hibernate.cfg.xml配置文件中配置我们二级缓存的一些属性
true
org.hibernate.cache.ehcache.EhCacheRegionFactory
ehcache.xml
hibernate.cfg.xml配置文件中,开启查询缓存
true