Pregunta

cuando se utiliza en lugar de definir ehcache declaración como

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

puede definir directamente dentro entidad independiente de cualquier proveedor de memoria caché que utiliza?

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

referencia: http://wiki.eclipse.org/EclipseLink/Examples/JPA / almacenamiento en caché (sólo mostró por EclipseLink, no ehcache)

¿Fue útil?

Solución

En primer lugar, aunque la mayoría de los proveedores de persistencia JPA (como Hibernate, EclipseLink, ...) proporcionan soporte para caché de segundo (s) de nivel, JPA 1.0 hizo no especifique el apoyo de un caché de segundo nivel. Por lo tanto, cuando se juega con caché L2, en realidad se está utilizando extensiones de la APP que no son estándar y no se pueden llevar de un proveedor a otro. @Cache anotación de Hibernate no es el mismo que @Cache anotación de EclipseLink y no es comparable con OpenJPA de @DataCache anotación. Todos estos son diferentes, ellos son propietarios. Si está usando Hibernate (que es mi comprensión de sus preguntas anteriores), no se debe buscar en EclipseLink cosas propietarias (o sólo para su cultura, pero esta cuestión va más allá de la cultura si es posible).

En segundo lugar, ¿qué te hace pensar que @Cache anotación de EclipseLink tiene nada que ver con EHCache? Que yo sepa, EclipseLink utiliza sus propios aplicación de caché que no está relacionado con EHCache.

En realidad, tengo la sensación de que estás un poco perdido aquí. Usted debe tal vez un poco más lento y hacer las cosas paso a paso: elegir una solución, se pega con él, identificar lo que tiene que hacer, implementa las cosas una por una, y obtener toda la cosa de trabajo. Centrarse en su objetivo, deje de reunir más información por el momento, tomar algún tiempo para digerir las cosas nuevas que ha aprendido.

Otros consejos

Por lo que yo sé en Hibernate tenemos algo como esto,

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

anotación tiene dos atributos más , region y include. Para establecer el tamaño, caducidad y todas esas cosas, no soy consciente de nada. Usted debe considerar los documentos de Ehcache, creo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top