Question

lors de l'utilisation ehcache plutôt que de définir déclaration comme

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

peut directement définir l'intérieur entité indépendante de tout fournisseur cache Utilisons-nous?

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

Référence: http://wiki.eclipse.org/EclipseLink/Examples/JPA / Caching (il ne montre pour EclipseLink, non ehcache)

Était-ce utile?

La solution

Tout d'abord, même si la plupart des fournisseurs de persistance JPA (comme Hibernate, EclipseLink, ...) permettent la cache de second niveau (s), JPA 1.0 a fait pas spécifier le soutien d'un cache de second niveau. Ainsi, lors de la lecture avec un cache L2, vous utilisez en fait des extensions JPA qui ne sont pas standard et ne sont pas portables d'un fournisseur à l'autre. Mise en veille prolongée @Cache l'annotation est pas même que @Cache l'annotation et n'est pas comparable à OpenJPA @DataCache annotation . Tous ces éléments sont différents, ils sont propriétaires. Si vous utilisez Hibernate (qui est ma compréhension de vos questions précédentes), vous ne devriez pas regarder les choses propriétaires EclipseLink (ou pour votre culture seulement, mais cette question va au-delà de la culture, si je peux me permettre).

En second lieu, ce qui vous fait penser que @Cache l'annotation a rien à voir avec EHCache? Autant que je sache, EclipseLink utilise ses propres qui n'est pas lié à EHCache.

En fait, j'ai le sentiment que vous êtes un peu perdu. Vous devriez peut-être faire et ralentir un peu les choses étape après étape: choisir une solution, rester avec elle, identifier ce que vous avez à faire, met en œuvre des choses une par une, et obtenir l'ensemble de travail chose. Se concentrer sur votre objectif, arrêtez la collecte de plus d'informations pour l'instant, prendre un certain temps pour digérer les nouvelles choses que vous avez appris.

Autres conseils

Pour autant que je sais que dans Hibernate nous avons quelque chose comme ça,

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

annotation a deux autres attributs , region et include. Pour définir la taille, l'expiration et toutes ces choses, je ne suis pas au courant de rien. Vous devriez considérer les docs de ehcache, je crois.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top