`
yan578351314
  • 浏览: 162731 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hibernate缓存测试

阅读更多
测试一级缓存:当用load的时候先去hibernate缓存找,不会去发送sql,但是如果你要打印查询出来的值时,如果缓存没有就发送sql,如果有就直接用缓存的值,当用get的时候先是发送sql语句,不管你第一次是否使用都会发送sql,但是以后就到缓存里面查询

* 二级缓存测试:二级缓存不是hibernate自带的缓存,需要我们自己开启缓存才可以
* 当开启二级缓存的时候所有的session共享一个sessionFactory,所以每个session
* 都会到缓存区去查询是否有过相同的操作,有相同的操作就不值取出来。
* 开启二级缓存的步骤:
* 1> 在hibernate.cfg.xml文件配置如下属性
* <property name="hibernate.cache.use_second_level_cache">true</property>
* <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
*  2>在映射文件中采用<cache>标签<cache usage="read-only"/>
*  这个<cache>标签只能放在<class>标签的内部,而且必须处在<id>标签的前面

/**
* 测试查询缓存:查询缓存也不是hibernate自带的缓存,它也需要配置的,你每一次调用
* list方法是hibernate都会想数据库发送一次sql,当你启用查询缓存是每一个query对象
* 都必须要开启一个查询缓存,否则,当你在创建一个查询对象是它将不会去查询缓存中搜索
* 查询缓存就是一个map,你的查询sql就是map中的key,sql查询出来的值就是map中的值
* 当调用iterator方法时,没有都会到数据库中发送sql,但是查询数据的时候,它会调用load方法
* 这时load方法会到缓存中查询了。这就是iterator和list的区别
*
*/

/**
* 实现查询缓存时,hibernate回检测一级缓存是否开启,如果符合一级缓存开启的条件
* 就在一级缓存里面查询,一级缓存存放的是实体对象,其他的都不存放,如果一级缓存
* 开启的条件不满足就查询二级缓存,二级缓存也缓存的是对象,hibernate会检查二级
* 缓存是否开启,如果开启就到二级缓存区查询,若没有开启就进入查询缓存,查询缓存
* 是一map形式存放数据的,如果是实体对象,查询缓存会存放id,如果是一般的字段,
* 查询缓存会把所有字段的值保存在map的value里面,然后把sql保存在map的key中。
*/
分享到:
评论

相关推荐

    hibernate基础教程

    第四步:编写测试类,体验Hibernate的二级缓存. 第五步:二级缓存的数据并发策略. 当我们使用二级缓存的时候,如果并发策略为:read-only,那么只能对持久化对象进行查询,不能对其进行修改.这...

    hibernate二级缓存

    完整的工程,可导入运行。测试内容为一级缓存和2级缓存。运行通过。配简单注解说明

    hibernate_5.1包

    hibernate-testing: 支持单元测试。 hibernate-swarmcache:支持SwarmCache,一个简单而功能强大的分布式缓存机制。它使用IP组播来有效地在缓存的实例之间进行通信。它是快速提高集群式Web应用程序的性能的理想...

    在Spring+Hibernate集成环境中使用EhCache缓存

    在Spring+Hibernate集成环境中使用EhCache缓存做的开发测试,在线程中打开数据库查询数据,及关闭数据库后查询数据的结果.

    EHCache缓存的说明和测试

    EHCache缓存的说明文档是到处找来的内容,都有参考链接指向原地址。有三个测试项目也在里面:一个整合了Struts2或Hibernate,一个整合了MyBatis3,这两个是我做的;另一个ehcachetest是下载了別人的。

    EhCache_Hibernate二级缓存配置_详细

    本人在做项目时用到了Hibernate的二级缓存,使用的是EhCache,结合本人自己的理解总结了如何在java web项目中配合Hibernate使用二级缓存,以提高程序的性能,附带需要的文件,参考的文件,和测试类以及说明。

    Hibernate+中文文档

    3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of ...

    curso-hibernate:Hibernate示例

    hibernate008:查询 hibernate009 示例:spring hibernate010 事务示例:dbUnit 单元测试示例 hibernate011:拦截器中的事件示例 hibernate012:hibernate 验证器示例 hibernate013:hibernate 缓存搜索示例 ...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范检查,代码审查等功能(与此相关的jar包由于上传文件大小限制未导入) 本系统一直在使用中,所以还会不段更新,之后我打算再...

    hibernate3.2中文文档(chm格式)

    3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of ...

    hibernate学习笔记

    测试实体对象的生命周期(hibernate_session) 3 hibernate基本映射(hibernate_basemapping) 4 class实体类---表 4 标签id 5 主键生成器Generator 6 多对一, 一对一, 一对多, 多对多 7 hibernate多对一关联映射...

    HibernateAPI中文版.chm

    3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of ...

    Hibernate实战(第2版 中文高清版)

     13.3.2 Hibernate高速缓存架构   13.4 高速缓存实践   13.4.1 选择并发控制策略   13.4.2 理解高速缓存区域   13.4.3 设置本地的高速缓存提供程序   13.4.4 设置重复的高速缓存   13.4.5 控制二级高速...

    hazelnate:使用hazelcast 作为二级Hibernate缓存的示例应用程序

    该项目主要关注hazelcast 与hibernate 结合提供的分布式缓存能力。 其他强大的功能,如内存计算等(目前)没有涵盖。 快速开始 要启动应用程序,只需克隆 repo 并一个接一个地执行以下命令。 整个应用程序是使用 ...

    Hibernate环境配置与测试

    Hibernate管理的三种状态 Transient(瞬时态) 使用new关键字,没有持久化,没有缓存到Session中 Persistent (持久态) 特点:已经持久化,添加到Session缓存中 Detached(游离态 特点:已被持久化,但不在...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    7.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 2)Demo 导入说明: 1.Eclipse Encoding:GBK 2.Eclipse 导入后可能需要在 Xml Catalog 手动添加:ehcache-spring-1.2.xsd(ehcache-spring-annotations...

    hibernate-level2-cache:在Hibernate 2级缓存上进行测试

    Hibernate级别2缓存

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA TransactionManagers 9.1. 继承映射特性(Features of ...

    Hibernate 中文 html 帮助文档

    1.4.3. 部署与测试 1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得...

    Hibernate中文详细学习文档

    1.4.3. 部署与测试 1.5. 总结 2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. JMX整合 2.4. 对JCA的支持 2.5. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2...

Global site tag (gtag.js) - Google Analytics