Como desabilitar o cache do hibernate?

O que eu tenho q fazer para desabilitar o cahe do hibenate?

Obrigado.

Pq vc quer desabilitar o cache do hibernate !?

Olá,

entrando no assunto: por que desabilitar ou deixar habilitado esse cache?

Como que esse cache do hibernate funciona extamente? digo, e se cair a luz, os dados estarão sincronizados?

:roll:

Att,
Rodrigo

deu pau…

Por default o Hibernate só utiliza o cache de 1ro nível que é exatemente a sua Session. Fechou a Session, acabou o cache…

O Cache de 2ndo nível só é utilizado pelo Hiberante quando você diz isso na hora do MOR, nos HBM ou nas consultas (Criteria, Query…).

Uma boa prática para iniciantes é utilizar o cache de segundo nível somente em tabelas estáticas, que não sofreram alterações de dados (read-only)
Os outros tipos de cache de 2ndo nível requerem um estudo melhor e maior para definir a estratégia a ser adotada…

[]s

Imaginem a seguinte situação:
Possuo um sistema Cliente/Servidor utilizando Hibernate (com uma única sessão por cliente e uma única região de cache).
O cliente X acessa o objeto, carrega em cache.
O cliente Y acessa o objeto, carrega em cache, altera e persiste ele.
O cliente X acessa o objeto novamente, mas vem sem as alterações que o Y fez, pois busca o objeto do cache.

Como posso resolver esse problema, sem que haja a necessidade de limpar todo o cache da sessão, ou finalizar a sessão e iniciar uma nova, pois isso me causaria a perda da propriedade lazy de vários outros objetos já carregados.

A idéia seria tirar apenas um objeto do cache, para forca a recarga dele à partir do banco. Ou melhor ainda, sincronizar ele com o banco.