Problema com o cache do Hibernate

Olá pessoal, meu problema é identico a um tópico ja fechado porem não tem a conclusão, apenas um talvez. Segue a explicação do tópico antigo.

A situação é a seguinte:

Tenho 1 sistema Web que conecta via hibernate num banco MySQL.
Tenho 1 sistema Android que conecta via hibernate no mesmo banco MySQL.

O problema é o seguinte:

Quando eu faço qualquer alteração na base por 1 sofwtare (Web ou Android) o outro não vê a alteração, pois o hibernate deve guardar o resultado em cache.

Já tentei o seguinte:

false
false
org.hibernate.cache.NoCacheProvider

E nada disso funcionou. Porém eu não quero desabilitar o cache totalmente, são apenas 3 tabelas das 20 que existem na base que são visualizadas/alteradas por ambos os softwares.

Se não tiver saída melhor, o jeito é desabilitar o cache por completo, porém nem isso eu estou conseguindo.

Obrigado a todos!

Crie um serviço que vai cuidar de inserção e manutenção dos dados! Não deixe que suas aplicações acessem direto o banco.

Minha opinião.

Obrigado pela resposta Fear, mas infelizmente não consigo criar um novo serviço, os sistemas que uso são grandes e ja estão em funcionamento. Alguém tem uma ideia de como poderia desativar o cache e sempre carregar somente os dados do banco, direto da aplicação?

Algo que pode me ajudar se alguém souber, quando altero os dados diretamente no banco de dados, eles só aparecem atualizados se eu reiniciar todo o serviço da aplicação. Existe uma forma de aparecer atualizado sem precisar reiniciar?

Se não quer hibernar dados pq afinal usam hibernate? Vira overhead nesse caso. Enfim, querendo ou não mudou o cenário.

Uma saída é usar statelessession ou abrir e fechar a session a cada requisição commitada respondida (ideal).

javaflex vlw pela resposta, funcionou para o que eu precisava. Abraço.

Segue abaixo o link que me guiou:

1 curtida