NHibernate para no almacenar en caché una propiedad
-
09-06-2019 - |
Pregunta
¿Cómo puedo configurar NHibernate para que no almacene en caché un archivo?
Sé que puedo crear un método que haga un HSQL, pero ¿puedo a través de una configuración en el archivo <clase>.xml o el archivo xml de hibernación en sí para no almacenar en caché una propiedad?
Solución
No puede establecer configuraciones de almacenamiento en caché secundarias a nivel de propiedad (hasta donde yo sé), pero puede ajustar individualmente la configuración de caché para cada entidad directamente en sus archivos XML.
Por ejemplo:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="ClassName" table="Table">
<cache usage="nonstrict-read-write" />
<id name="Id" type="Int64" ...
Donde la propiedad de "uso" de la caché puede ser cualquiera de los siguientes valores:
- leer escribir:asegura el aislamiento de lectura comprometida, garantiza que los datos sean consistentes pero no reduce el acceso a la base de datos tanto como los otros modos,
- lectura-escritura no estricta:objetos con escrituras raras, ligera posibilidad de inconsistencia entre la base de datos y el caché,
- solo lectura:para objetos de datos que nunca cambian, no hay posibilidad de inconsistencia.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow