Hibernate的缓存
2012-07-21 09:40
141 查看
1.默认的Session级别的一级缓存
2.可选的SessionFactory级别的二级缓存,这是全局性的缓存,所有session共享这个缓存,session会优先从这里加载实例。
缓存相当于一个Map,key为实体的标示属性值,value为实体
作用:除非程序显示调用Session的flush()方法,或程序关闭Session时才会把这些改变一次性地flush到数据库-------通过这种缓存,可以减少与数据库的交互,从而提高数据库访问性能。
一级、二级缓存都是对整个实体进行缓存,它不会缓存普通属性,如果想对普通属性进行缓存,则可以考虑使用查询缓存。
查询缓存的key是查询所用的SQL或HQL语句,查询缓存不仅要求所使用的HQL语句、SQL语句相同,甚至要求所传入的参数相同,hibernate才会从查询缓存中取得数据。
查询缓存默认是关闭的。只有经常使用相同的查询语句、并且使用相同查询参数才能通过查询缓存获得好处,查询缓存的生命周期知道属性被修改了为止。
2.可选的SessionFactory级别的二级缓存,这是全局性的缓存,所有session共享这个缓存,session会优先从这里加载实例。
缓存相当于一个Map,key为实体的标示属性值,value为实体
作用:除非程序显示调用Session的flush()方法,或程序关闭Session时才会把这些改变一次性地flush到数据库-------通过这种缓存,可以减少与数据库的交互,从而提高数据库访问性能。
一级、二级缓存都是对整个实体进行缓存,它不会缓存普通属性,如果想对普通属性进行缓存,则可以考虑使用查询缓存。
查询缓存的key是查询所用的SQL或HQL语句,查询缓存不仅要求所使用的HQL语句、SQL语句相同,甚至要求所传入的参数相同,hibernate才会从查询缓存中取得数据。
查询缓存默认是关闭的。只有经常使用相同的查询语句、并且使用相同查询参数才能通过查询缓存获得好处,查询缓存的生命周期知道属性被修改了为止。
相关文章推荐
- Hibernate 二级缓存 和 查询缓存
- Hibernate缓存详解
- hibernate二级缓存攻略
- 二级缓存配置(spring+hibernate)
- Hibernate缓存问题
- AWS中使用Memcached作为hibernate的二级缓存
- Hibernate一级缓存和二级缓存
- hibernate二级缓存攻略介绍
- Hibernate查询缓存综合
- 关于hibernate的缓存使用
- Hibernate——缓存
- hibernate二级缓存攻略 Ehcache(from javaEyes)
- Hibernate:缓存
- Hibernate一级缓存、二级缓存以及查询缓存的关系
- hibernate(实体bean和缓存的问题)
- Hibernate工作流程、优点、缓存机制
- hibernate一级缓存和二级缓存的区别
- Hibernate整合Memcached二级缓存
- 【java】关于hibernate的二级缓存
- chenw Hibernate 缓存机制