1. 首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:
- <!---->xml version="1.0" encoding="UTF-8"?>
- <ehcache>
- <diskStore path="java.io.tmpdir"/>
- <defaultCache
- maxElementsInMemory="10000"
- eternal="false"
-
- overflowToDisk="true"
-
- timeToIdleSeconds="300"
- timeToLiveSeconds="180"
- diskPersistent="false"
- diskExpiryThreadIntervalSeconds= "120"/>
- 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上配置。
- @Entity
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- public class Forest { ... }
- @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
- @JoinColumn(name="CUST_ID")
- @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
- public SortedSet getTickets() {
- return tickets;
- }
- @Cache(
- CacheConcurrencyStrategy usage(); (1)
- String region() default ""; (2)
- String include() default "all"; (3)
- )
(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"
分享到:
相关推荐
接下来,需要在Hibernate的配置文件(通常为`hibernate.cfg.xml`)中指定使用EhCache作为二级缓存提供者,并开启二级缓存功能: ```xml <hibernate-configuration> <property name="hibernate.cache.provider_...
首先,需要在Hibernate的配置文件中启用二级缓存并指定Ehcache为提供者,然后在实体类或映射文件中启用缓存。 ```xml <!-- hibernate.cfg.xml --> <property name="hibernate.cache.use_second_level_cache">true ...
- 第二级缓存:可配置的全局缓存,跨Session共享,如Ehcache。 - 查询缓存:存储查询结果,减少对数据库的访问。 6. Hibernate性能优化: - 使用批处理:通过设置hibernate.jdbc.batch_size来批量处理插入、更新...
8. **配置文件**: 虽然本资源是基于Annotation的,但通常还需要一个hibernate.cfg.xml配置文件,用于设置数据库连接信息、方言、缓存策略等。在Annotation模式下,这个配置文件的作用相对减少,更多配置可以通过代码...
`caching`和`Hibernate+ehcache二级缓存配置 - 王贵伟 - JavaEye技术网站.files`、`spring中配置二级缓存.files`这些目录可能包含了相关配置文件和资源。 总的来说,Spring二级缓存通过集成EhCache,实现了跨会话的...
3. 配置Spring:在Spring的配置文件中启用缓存支持,并指定Ehcache为缓存管理器。 ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cache="http://www.springframework.org/schema/cache" ...
2. **配置文件(Configuration)**: Hibernate的核心配置文件(hibernate.cfg.xml)包含了数据库连接信息、方言设置、缓存策略等,是启动Hibernate会话工厂的基石。 3. **会话(Session)**: Session是Hibernate与...
总结来说,Spring的二级缓存配置涉及多个层面,包括引入缓存库、设置缓存策略、配置Spring以及在业务代码中使用注解。合理利用二级缓存,能够有效提升系统的响应速度,降低数据库压力,但同时也需要注意缓存的维护和...
包括Hibernate核心库、JTA事务管理、JPA规范实现等,使用这些jar包,开发者可以轻松实现Java项目中的ORM功能,利用Hibernate的强大功能进行数据库操作,同时支持Annotation配置,简化了开发过程。
EhCache是一个流行的Java缓存框架,它以其高性能和轻量级特性而受到广泛使用,尤其在Hibernate中作为默认的CacheProvider。 **1. EhCache简介** EhCache是一个完全用Java编写的进程内缓存解决方案,它强调速度和...
2. **对象关系映射**:Hibernate通过Hibernate Annotation或XML配置文件实现对象关系映射,使得Java对象可以直接操作数据库。例如,一个Employee类可以映射到名为"employee"的数据库表,属性对应字段,方法对应CRUD...
一级缓存自动管理,二级缓存则需要配置和第三方插件支持,如Ehcache。 九、关联映射 Hibernate支持一对一、一对多、多对一和多对多四种关联关系的映射,包括单向和双向关联,以及懒加载和立即加载策略。 十、性能...
二级缓存需要配合缓存提供商如EhCache或Hibernate Infinispan实现。 8. **脏检查和自动提交**:Hibernate会定期进行脏检查,检测对象的状态变化,并在事务提交时自动更新数据库。这意味着,只要在事务范围内对对象...
Hibernate Annotations 是 Hibernate 的一个重要组成部分,它引入了注解(Annotation)机制,使得开发者无需编写 XML 配置文件,就可以实现对象和数据库表之间的映射。 ### Hibernate ORM 基础 1. **对象关系映射...
2. **配置文件**:`hibernate.cfg.xml`是Hibernate的配置文件,其中包含了数据库连接信息、缓存设置、方言选择等配置项,是初始化Hibernate会话工厂的关键。 3. **实体类**:在Hibernate中,实体类代表数据库中的表...
Hibernate支持二级缓存,通过`hibernate-ehcache.jar`或`hibernate-infinispan.jar`,我们可以看到如何集成和配置不同的缓存提供商,以优化数据访问性能。 5. **类型系统和转换**: Hibernate的类型系统是其强大...
在本文中,我们将深入探讨如何配置一个基于SpringMVC 3.2和Hibernate 4的基础项目。这个项目配置涵盖了核心的框架组件,如数据库连接池、事务管理、缓存策略以及拦截器,这些是构建现代Java Web应用的关键要素。我们...
6. **缓存机制**:为了提高性能,Hibernate提供了二级缓存机制,包括本地缓存(First-Level Cache)和可选的第二级缓存插件,如Ehcache或Infinispan。这些缓存库(如hibernate-ehcache.jar)能够存储已加载的实体,...
- 如果项目使用Hibernate,可以集成Ehcache或第三方memcached实现(如hibernate-ehcache-memcached),配置hibernate.cfg.xml或使用XML/Annotation方式定义缓存策略。 5. **使用示例**: - 在服务端,可以通过...
Hibernate提供了第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),以及第三方缓存集成,如EhCache。缓存可以显著提高数据读取性能,减少对数据库的直接访问。 事务管理是数据库操作的...