Hibernate 缓存
Posted frank_cui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate 缓存相关的知识,希望对你有一定的参考价值。
一级缓存
1.不同session,相同语句, 会执行多次查询;
相同session, 相同语句,会执行一次查询
形式:
Employee emp = session.get(Employee.class,1);
2.一级缓存,又称session缓存。其生命周期伴随着session的开始和结束
3.一级缓存无法取消
4.一级缓存重要的两个API
5.query.list()不会使用一级缓存,即便是使用同一个session
形式:
Query query = session.creatQuery("from Employee");
List<Employee> list = query.list();
6.query.iterate() 会自己只发送查询主键的SQL(不包含其他属性),然后在从一级缓存查看其他属性值,如果有,从一级缓存取出;如果没有,再次发送详细的SQL。
Iterator it = query.iterate();
二级缓存
1.每个session公用的缓存
2.不是默认开启的,需要手工配置4步骤:
以上是关于Hibernate 缓存的主要内容,如果未能解决你的问题,请参考以下文章