Hibernate的缓存

1.默认的Session级别的一级缓存

2.可选的SessionFactory级别的二级缓存,这是全局性的缓存,所有session共享这个缓存,session会优先从这里加载实例。

缓存相当于一个Map,key为实体的标示属性值,value为实体

作用:除非程序显示调用Session的flush()方法,或程序关闭Session时才会把这些改变一次性地flush到数据库-------通过这种缓存,可以减少与数据库的交互,从而提高数据库访问性能。

一级、二级缓存都是对整个实体进行缓存,它不会缓存普通属性,如果想对普通属性进行缓存,则可以考虑使用查询缓存。

查询缓存的key是查询所用的SQL或HQL语句,查询缓存不仅要求所使用的HQL语句、SQL语句相同,甚至要求所传入的参数相同,hibernate才会从查询缓存中取得数据。

查询缓存默认是关闭的。只有经常使用相同的查询语句、并且使用相同查询参数才能通过查询缓存获得好处,查询缓存的生命周期知道属性被修改了为止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值