Pergunta

Como posso configurar o NHibernate para não armazenar em cache um arquivo?
Eu sei que posso criar um método que faça um HSQL, mas posso através de uma configuração no arquivo <class>.xml ou no próprio arquivo xml de hibernação para não armazenar em cache uma propriedade?

Foi útil?

Solução

Você não pode definir configurações de cache secundário no nível de propriedade (até onde eu sei), mas pode ajustar individualmente as configurações de cache para cada entidade diretamente em seus arquivos XML.

Por exemplo:

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

Onde a propriedade "usage" do cache pode ser qualquer um dos seguintes valores:

  • ler escrever:garante isolamento de leitura confirmada, garante que os dados sejam consistentes, mas não reduz o acesso ao banco de dados tanto quanto os outros modos,
  • leitura-escrita não estrita:objetos com gravações raras, pequena chance de inconsistência entre banco de dados e cache,
  • somente leitura:para objetos de dados que nunca mudam, não há chance de inconsistência.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top