Domanda

Come posso configurare NHibernate per non memorizzare nella cache un file?
So di poter creare un metodo che esegua un HSQL, ma posso attraverso un'impostazione di configurazione nel file <class>.xml o nel file xml di ibernazione stesso per non memorizzare nella cache una proprietà?

È stato utile?

Soluzione

Non è possibile configurare le impostazioni della cache secondaria a livello di proprietà (per quanto ne so), ma è possibile ottimizzare individualmente le impostazioni della cache per ciascuna entità direttamente nei relativi file XML.

Ad esempio:

<?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" ...

Dove la proprietà "utilizzo" della cache può essere uno qualsiasi dei seguenti valori:

  • leggere scrivere:assicura l'isolamento del read commit, assicura che i dati siano coerenti ma non riducono l'accesso al DB tanto quanto le altre modalità,
  • lettura-scrittura non ristretta:oggetti con scritture rare, leggera possibilità di incoerenza tra DB e cache,
  • sola lettura:per oggetti dati che non cambiano mai, nessuna possibilità di incoerenza.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top