O que eu tenho q fazer para desabilitar o cahe do hibenate?
Obrigado.
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.