문제

문장을 정의하는 대신 ehcache를 사용할 때

 <cache name="testonly.package.model.TestPOJOcategory"
        maxElementsInMemory="200"
        eternal="true"
        overflowToDisk="false"
        timeToIdleSeconds="300"
        timeToLiveSeconds="600"
    />

우리가 사용하는 모든 캐시 제공 업체와 독립적으로 내부 엔터티를 직접 정의 할 수 있습니까?

@Cache(
  type=CacheType.SOFT, 
  size=64000 
  expiry=36000000,  
  coordinationType=CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS 
)

참조: http://wiki.eclipse.org/eclipselink/examples/jpa/caching (ehcache가 아닌 Eclipselink에 대해서만 보여주었습니다)

도움이 되었습니까?

해결책

첫째, 대부분의 JPA 지속성 제공 업체 (Hibernate, Eclipselink 등)가 2 단계 캐시를 지원하는 경우 JPA 1.0은 ~ 아니다 두 번째 레벨 캐시의 지원을 지정하십시오. 따라서 L2 캐시를 사용하면 실제로 표준이 아니며 한 공급자에서 다른 공급자로 휴대 할 수없는 JPA 확장 기능을 사용하고 있습니다. 최대 절전 모드 @Cache 주석은 Eclipselink와 동일하지 않습니다 @Cache 주석 및 OpenJPA와 비교할 수 없습니다 @DataCache 주석. 이 모든 것이 다르고 독점적입니다. 최대 절전 모드 (이전 질문에 대한 나의 이해)를 사용하는 경우, Eclipselink 독점적 인 것들 (또는 문화에 대해서만 문화를 보지 않지만이 질문은 내가 문화를 넘어서는 것을 보지 않아야합니다).

둘째, eclipselink의 생각을하는 이유 @Cache 주석은 ehcache와 관련이 있습니까? Afaik, eclipselink는 자체를 사용합니다 캐시 구현 Ehcache와 관련이 없습니다.

사실, 나는 당신이 여기서 약간 길을 잃었다는 느낌이 있습니다. 약간의 속도를 늦추고 단계 후 단계를 수행해야 할 수도 있습니다. 하나의 솔루션을 선택하고, 해결하고,해야 할 일을 식별하고, 일을 하나씩 구현하고, 모든 일을 작동시킵니다. 목표에 집중하고, 지금 더 많은 정보를 수집하지 않고, 당신이 배운 새로운 것을 소화하는 데 시간이 걸리십시오.

다른 팁

최대 절전 모드에서 아는 한 우리는 이와 같은 것을 가지고 있습니다.

@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class TestPOJOcategory {
...
}

이것 주석 두 가지 속성이 더 있습니다. region 그리고 include. 크기, 만료 및 모든 것들을 설정하기 위해 나는 아무것도 알지 못합니다. Ehcache의 문서를 고려해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top