ZKX's LAB

hibernate的一级缓存是 Hibernate中的一级缓存介绍

2020-10-01知识5

hibernate中哪些方法会调用一级缓存 属性是不能使用缓存的),并且要求使用主关键字ID来进行访问。一级缓存是由Session提供的,所以它只存在于Session的生命周期中,当程序调用save(),update(),saveorupdate()等方法以及调用查询接口list,filter,iterate时,如果session缓存中还不存在相应的对象,Hibernate会把该对象加入到一级缓存中,当Session关闭的时候该Session所管理的一级缓存也会立即被清除。当程序调用get(),load(),iterate(查询实体对象才支持一级缓存,查询普通属性则不支持一级缓存)时,Hibernate会先到缓存中去拿,如果缓存中已经存在

hibernate的一级缓存是 Hibernate中的一级缓存介绍

Hibernate的一级缓存和二级缓存分别是什么 Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Session的缓存是内置的,不能被卸载,也被称为Hibernate的第一级缓存。SessionFactory的内置缓存和Session的缓存在实现方式上比较相似,前者是SessionFactory对象的一些集合属性包含的数据,后者是指Session的一些集合属性包含的数据。SessionFactory的内置缓存中存放了映射元数据和预定义SQL语句,映射元数据是映射文件中数据的拷贝,而预定义SQL语句是在Hibernate初始化阶段根据映射元数据推导出来,SessionFactory的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此SessionFactory不需要进行内置缓存与映射文件的同步。SessionFactory的外置缓存是一个可配置的插件。在默认情况下,SessionFactory不会启用这个插件。外置缓存的数据是数据库数据的拷贝,外置缓存的介质可以是内存或者硬盘。SessionFactory的外置缓存也被称为Hibernate的第二级缓存。

hibernate的一级缓存是 Hibernate中的一级缓存介绍

hibernate的缓存是什么,一级缓存和二级缓存分别是什么,有什么区别? hibernate缓存机制就是 已一种数据结构(hashmam)将你查询过的数据保存在内存中 当你下次再次查询的时候 hibernate首先会先到内存中的对应map中查看是否存在你要查找的值 。

hibernate的一级缓存是 Hibernate中的一级缓存介绍

#session对象#hibernate#数据库#session#二级缓存

随机阅读

qrcode
访问手机版