1.一次session会话作用范围内,两次相同的查询只会向数据库发送一条查询语句
2.开启不同的session会话会向数据库发起不同的查询语句
3、一级缓存 session级的缓存,会话级的缓存,一级缓存的销毁和session一起的,一级缓存的范围只适用当前会话,一级缓存是强制性生成的,我们可以通过两种方法进行清除,第一个是evict()方法,可以吧某个对象从session的一级缓存中清除,另外一个方法是clear(),用于将一级缓存中的所有对象全部清除。
4.query.list()是不会使用一级缓存的,不管在不在一个会话中,都会重新查询一次.query.iteator()会去一级缓存中查找数据,找不到才会再次向数据库发送查询请求。
5.二级缓存就是在每个session中公用的缓存
6.二级缓存的配置步骤
1.添加相应的jar包
2.在hibernate的配置文件中添加provide类的描述
3.添加二级缓存的属性配置文件
4.在需要被添加缓存表所对应的映射文件中添加<cache/>标签
7、cache属性的配置,查找相关资料