试题详情
- 简答题说下Hibernate的缓存机制?
-
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。
Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Session的缓存是内置的,不能被卸载,也被称为Hibernate的第一级缓存。SessionFactory的内置缓存和Session的缓存在实现方式上比较相似,前者是SessionFactory对象的一些集合属性包含的数据,后者是指Session的一些集合属性包含的数据。SessionFactory的内置缓存中存放了映射元数据和预定义SQL语句,映射元数据是映射文件中数据的拷贝,而预定义SQL语句是在Hibernate初始化阶段根据映射元数据推导出来,SessionFactory的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此SessionFactory不需要进行内置缓存与映射文件的同步。SessionFactory的外置缓存是一个可配置的插件。在默认情况下,SessionFactory不会启用这个插件。外置缓存的数据是数据库数据的拷贝,外置缓存的介质可以是内存或者硬盘。SessionFactory的外置缓存也被称为Hibernate的第二级缓存。 关注下方微信公众号,在线模考后查看
热门试题
- 在Hibernate的Criteria查
- 在ORM中,面向对象概念中的对象与面向关
- Hibernate是一个优秀的持久层解决
- 在Hibernate的HQL查询中,se
- 在Hibernate的HQL查询中,有数
- 请简述Hibernate与jdbc的联系
- hibernate中数据表映射关系主要有
- 无状态Session Bean有几种状态
- 在J2EE中,要部署并运行包含了ejb组
- 在Hibernate中,如果需要进行级联
- 请解释Hibernate3.2主键的生成
- hibernate拒绝连接、服务器崩溃的
- 试述Query接口list( )与ite
- 在Hibernate的映射文件中,id节
- 关于Criteria查询,下列说法正确的
- 对于以下程序,Customer对象在第(
- 关于HQL的连接查询,说法错误的是()。
- 使用Hibernate的QBC查询,要使
- 对于视图,下列语句正确的是()。
- 在HQL语言中,Query对象特别提供了