2010-04-24 4 views
4

EHCache 1.5 번들과 함께 제공되는 Hibernate 3.5.1을 사용하고 있습니다.HIbernate 3.5.1 - EHCache 2.0.1에서 삭제할 수 있습니까?

최신 EHCache 릴리스 (2.0.1)를 사용하려면 내 프로젝트에서 ehcache-1.5.jar을 제거하고 ehcache-core-2.0.1.jar로 바꾸는 것입니까? 알고 있어야 할 문제는 무엇입니까?

또한 - ehcache 구성 xml의 캐시 "name"과 동일한 Hibernate 매핑 파일의 캐시 "region"입니까? 내가하고 싶은 일은 2 개의 캐시 영역을 정의하는 것입니다. 하나는 변경되지 않는 읽기 전용 참조 엔티티 (조회 목록 등)이고 다른 하나는 다른 엔티티에 대한 것입니다. 그래서 ehcache에서 나는 두 개의 엘리먼트를 정의하고자한다.

<cache name="readonly"> ... </cache> 
<cache name="mutable"> ... </cache> 

그리고 내 Hibernate 매핑 파일에, 나는 캐시를 지정합니다 은 각 엔티티에 사용되는 :

<hibernate-mapping> 
    <class name="lookuplist"> 
     <cache region="readonly" usage="read-only"/> 
     <property> ... </property> 
    </class> 
</hibernate-mapping> 

것을 사용할 수 있습니까? 설명서 중 일부는 매핑 된 클래스마다 별도의 영역/캐시가 생성된다는 것을 암시하는 것으로 보입니다.

감사합니다. 나는 최신 EHCache는 릴리스 (2.0.1)을 사용하려면

답변

2

, 내 프로젝트에서으로 Ehcache-1.5.jar를 제거하고,으로 Ehcache 코어-2.0.1.jar와 교체의 문제입니다 ? 알고 있어야 할 문제는 무엇입니까?

Hibernate Second Level Cache으로으로 Ehcache를 사용하는 방법에 대한 외부 케시 문서에 따르면, 당신은 참으로 ehache-core.jar를을 사용해야합니다뿐만 아니라 Hibernate's configuration을 변경할 수 있습니다.

또한 - ehcache 구성 xml의 캐시 "name"과 동일한 Hibernate 매핑 파일의 캐시 "region"입니까?

예. 다시 말하지만,이 설명서는 Configuring ehcache.xml에 설명되어 있습니다.

해당 기능이 작동합니까?

region (optional: defaults to the class or collection role name): specifies the 
name of the second level cache region 
: 문서의 일부는 별도의 지역/캐시 문서는이 기본입니다 Cache mappings에서 흰색에 검은 쓰여, 의미하지 않는다

매핑 된 각 클래스에 대해 작성되는 것을 의미하는 것

작동 여부 기술적으로는 그렇습니다. 좋은 생각입니까? 나는 잘 모르겠다. Hibernate와 Ehcache 레벨 모두에서 세분화 된 세분화 된 영역을 갖는 것이 바람직합니다 (특히 분산 캐싱과 무효화 전략을 사용하려는 경우에는 모든 엔티티를 무효화하고 싶지 않음). 나는 Hibernate의 기본값을 사용할 것이다.

0

maven을 사용하는 경우 동일한 문제 ( )가 있습니다.

그 자체로 ehcache를 다운로드하고 ehcache를 입력하는 것이 최대 절전 모드를 방지하는 것이 좋습니다.

 <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate</artifactId> 
     <version>3.2.6.ga</version> 
     <exclusions> 
      <exclusion> 
       <groupId>net.sf.ehcache</groupId> 
       <artifactId>ehcache</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

이런 식으로는 버전 1.2.3

이었다 다음의 pom.xml에

 <dependency> 
     <groupId>net.sf</groupId> 
     <artifactId>ehcache-core</artifactId> 
     <version>2.4.2</version> 
    </dependency> 

을 넣어 내 경우에는 내부으로 Ehcache를 다운로드하지 않습니다

그것을 작동합니다 .

관련 문제