`
hain
  • 浏览: 454574 次
  • 来自: ...
社区版块
存档分类
最新评论

Hibernate Annotation 中配置EhCache缓存

阅读更多

1.  首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:

  1. <!---->xml version="1.0" encoding="UTF-8"?>  
  2. <ehcache>  
  3.  <diskStore path="java.io.tmpdir"/>    
  4.   <defaultCache  
  5.    maxElementsInMemory="10000" <!---->  
  6.    eternal="false" <!---->  
  7.   
  8.    overflowToDisk="true" <!---->  
  9.   
  10.    timeToIdleSeconds="300" <!---->  
  11.    timeToLiveSeconds="180" <!---->  
  12.    diskPersistent="false"  
  13.    diskExpiryThreadIntervalSeconds"120"/>    
  14. ehcache>  

  2.  在Hibernate配置文件中设置:


<hibernate-configuration>

<session-factory>……<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property><property name="cache.use_second_level_cache">true</property>……</session-factory></hibernate-configuration>
        此外,可以把cache.use_second_level_cache设置为false关闭所有的hibernate二级缓存。但此属性对指定<cache>的类缺省为true。

 

   3.  为了使用二级缓存,需要在每一个Hibernate Entity上配置。

  1. @Entity  
  2. @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)   
  3. public class Forest { ... }  
  1. @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)   
  2. @JoinColumn(name="CUST_ID")   
  3. @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)   
  4. public SortedSet getTickets() {   
  5.     return tickets;   
  6. }  
  1. @Cache(   
  2.     CacheConcurrencyStrategy usage();                 (1)   
  3.     String region() default "";                       (2)   
  4.     String include() default "all";                   (3)   
  5. )  

(1) usage: 提供缓存对象的事务隔离机制,可选值有以下几种
(NONE, READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL)

(2) region (optional): 指定缓存的区域,默认是类的全限定名。利用缓存区域,可以更精确的指定每个区域的缓存超前策略。如果指定了缓存区域前缀(在hibernate.cfg.xml中设置cache.region_prefix属性为一个字符串),则所有的缓存区域名前将加上这个前缀。
(3) include (optional): all to include all properties, non-lazy to only include non lazy properties (default all).

如果不是使用annotation的话,则是在Hbm文件中添加cache usage="read-only"

分享到:
评论
2 楼 abcstring 2012-02-07  
angjunwen 写道
老兄,你的 ehcache.xml 配置的有意义吗

占个位置 以后可以添加其他cache配置
1 楼 angjunwen 2010-05-28  
老兄,你的 ehcache.xml 配置的有意义吗

相关推荐

    Hibernate配置EhCache缓存之annotation注解[归类].pdf

    接下来,需要在Hibernate的配置文件(通常为`hibernate.cfg.xml`)中指定使用EhCache作为二级缓存提供者,并开启二级缓存功能: ```xml &lt;hibernate-configuration&gt; &lt;property name="hibernate.cache.provider_...

    Ehcache缓存技术说明

    首先,需要在Hibernate的配置文件中启用二级缓存并指定Ehcache为提供者,然后在实体类或映射文件中启用缓存。 ```xml &lt;!-- hibernate.cfg.xml --&gt; &lt;property name="hibernate.cache.use_second_level_cache"&gt;true ...

    hibernate 中文文档 and _annotation.chm

    - 第二级缓存:可配置的全局缓存,跨Session共享,如Ehcache。 - 查询缓存:存储查询结果,减少对数据库的访问。 6. Hibernate性能优化: - 使用批处理:通过设置hibernate.jdbc.batch_size来批量处理插入、更新...

    hibernate-annotation 所需要的jar包

    8. **配置文件**: 虽然本资源是基于Annotation的,但通常还需要一个hibernate.cfg.xml配置文件,用于设置数据库连接信息、方言、缓存策略等。在Annotation模式下,这个配置文件的作用相对减少,更多配置可以通过代码...

    spring二级缓存

    `caching`和`Hibernate+ehcache二级缓存配置 - 王贵伟 - JavaEye技术网站.files`、`spring中配置二级缓存.files`这些目录可能包含了相关配置文件和资源。 总的来说,Spring二级缓存通过集成EhCache,实现了跨会话的...

    Ehcache整合Spring使用页面、对象缓存

    3. 配置Spring:在Spring的配置文件中启用缓存支持,并指定Ehcache为缓存管理器。 ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="http://www.springframework.org/schema/cache" ...

    hibernate3 中文API

    2. **配置文件(Configuration)**: Hibernate的核心配置文件(hibernate.cfg.xml)包含了数据库连接信息、方言设置、缓存策略等,是启动Hibernate会话工厂的基石。 3. **会话(Session)**: Session是Hibernate与...

    spring小结之配置二级缓存!

    总结来说,Spring的二级缓存配置涉及多个层面,包括引入缓存库、设置缓存策略、配置Spring以及在业务代码中使用注解。合理利用二级缓存,能够有效提升系统的响应速度,降低数据库压力,但同时也需要注意缓存的维护和...

    hibernate所有开发包

    包括Hibernate核心库、JTA事务管理、JPA规范实现等,使用这些jar包,开发者可以轻松实现Java项目中的ORM功能,利用Hibernate的强大功能进行数据库操作,同时支持Annotation配置,简化了开发过程。

    Spring Boot整合EhCache的步骤详解

    EhCache是一个流行的Java缓存框架,它以其高性能和轻量级特性而受到广泛使用,尤其在Hibernate中作为默认的CacheProvider。 **1. EhCache简介** EhCache是一个完全用Java编写的进程内缓存解决方案,它强调速度和...

    韩顺平spring 雇员管理系统hibernate jar包

    2. **对象关系映射**:Hibernate通过Hibernate Annotation或XML配置文件实现对象关系映射,使得Java对象可以直接操作数据库。例如,一个Employee类可以映射到名为"employee"的数据库表,属性对应字段,方法对应CRUD...

    韩顺平老师Hibernate教程PPT(完整)

    一级缓存自动管理,二级缓存则需要配置和第三方插件支持,如Ehcache。 九、关联映射 Hibernate支持一对一、一对多、多对一和多对多四种关联关系的映射,包括单向和双向关联,以及懒加载和立即加载策略。 十、性能...

    Hibernate(session管理)

    二级缓存需要配合缓存提供商如EhCache或Hibernate Infinispan实现。 8. **脏检查和自动提交**:Hibernate会定期进行脏检查,检测对象的状态变化,并在事务提交时自动更新数据库。这意味着,只要在事务范围内对对象...

    HibernateAnnotations 中文版

    Hibernate Annotations 是 Hibernate 的一个重要组成部分,它引入了注解(Annotation)机制,使得开发者无需编写 XML 配置文件,就可以实现对象和数据库表之间的映射。 ### Hibernate ORM 基础 1. **对象关系映射...

    Hibernate 帮助手册 API

    2. **配置文件**:`hibernate.cfg.xml`是Hibernate的配置文件,其中包含了数据库连接信息、缓存设置、方言选择等配置项,是初始化Hibernate会话工厂的关键。 3. **实体类**:在Hibernate中,实体类代表数据库中的表...

    精通Hibernate源代码jar包3

    Hibernate支持二级缓存,通过`hibernate-ehcache.jar`或`hibernate-infinispan.jar`,我们可以看到如何集成和配置不同的缓存提供商,以优化数据访问性能。 5. **类型系统和转换**: Hibernate的类型系统是其强大...

    springMVC3.2+Hibernate4的基本配置

    在本文中,我们将深入探讨如何配置一个基于SpringMVC 3.2和Hibernate 4的基础项目。这个项目配置涵盖了核心的框架组件,如数据库连接池、事务管理、缓存策略以及拦截器,这些是构建现代Java Web应用的关键要素。我们...

    hibernate包

    6. **缓存机制**:为了提高性能,Hibernate提供了二级缓存机制,包括本地缓存(First-Level Cache)和可选的第二级缓存插件,如Ehcache或Infinispan。这些缓存库(如hibernate-ehcache.jar)能够存储已加载的实体,...

    memcached在SSH中的配置

    - 如果项目使用Hibernate,可以集成Ehcache或第三方memcached实现(如hibernate-ehcache-memcached),配置hibernate.cfg.xml或使用XML/Annotation方式定义缓存策略。 5. **使用示例**: - 在服务端,可以通过...

    hibernate3.3.2_参考文档

    Hibernate提供了第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),以及第三方缓存集成,如EhCache。缓存可以显著提高数据读取性能,减少对数据库的直接访问。 事务管理是数据库操作的...

Global site tag (gtag.js) - Google Analytics