一级缓存是默认打开的
一级缓存范围:从session创建到session关闭范围
一级缓存中存储的数据必须是持久态数据
sesion的三种状态:
http://www.cnblogs.com/youk/archive/2011/11/25/2262596.html
//第一次查询
User user=session.get(User.class, 2);
System.out.println(user);
//第二次查询
User user2=session.get(User.class, 2);
System.out.println(user2);
第二次查询的时候不会查询数据库,会在一级缓存(内存)中查询。
二级缓存被redis替代了
二级缓存默认不是打开的,需要配置
二级缓存使用范围是sesionFactory范围
参考文档:
Hibernate 缓存机制
http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html
梳理hibernate篇-原理及缓存机制
http://blog.youkuaiyun.com/u014586894/article/details/51630562