hibernate 一级缓存and 快照

一:一级缓存

1、hibernate中的的一级缓存是为了提高操作数据库的效率

2、Hlbernate的一级缓存就是指Session缓存,Session缓存是一块内存空间,用来存放相互管理的 java对象,在使用Hlbernate查询对象的时候,首先会使用对象属性的OID值在Hlbernate的一级缓存中进行查找,如果找到匹配OID值的对象,就直接将该对象从一级缓存中取出使用,不会再查询数据库;如果没有找到相同OID值的对象,则会去数据库中查找相应数据。当从数据库中查询到所需数据时,该数据信息也会放置到一级缓存中。Hibernate的一级缓存的作用就是减少对数据库的访问次数

1、展示一级缓存

查询时:

hibernate 一级缓存and 快照

1、这里的查询只打印一条Sql语句

hibernate 一级缓存and 快照

2、流程执行图

hibernate 一级缓存and 快照

修改时:

hibernate 一级缓存and 快照

1、这里的修改只打印一条Sql语句

hibernate 一级缓存and 快照

2、流程执行图

hibernate 一级缓存and 快照

3、持久化状态对象其实就是放入Seesion缓存中:

hibernate 一级缓存and 快照

1、这里的查询的SQL语句不会打印

hibernate 一级缓存and 快照

hibernate 一级缓存and 快照