Hibernate acesso concorrente com outros sistemas

Amigos tenho uma duvida, o Hibernate é um excelente ferramenta de persistência, mas gostaria de saber se ele é recomendado para o ambiente que irei descrever ou como configura-lo para um bom funcionamento.

Em um ambiente onde uma base de dados é populada de diversas formas, por diversos sistemas, como usar o Hibernate de uma forma satisfatória?

Pergunto isso pois por exemplo se tenho uma tabela de clientes onde a mesma é atualizada por vários sistemas de linguagens e ferramentas diferentes da do Hibernate o mesmo quando for consultar não enxerga estas modificações apenas as que ele mesmo fez.

Como proceder neste caso?

Obrigado!

Ahn?

Camarada, o hibernate (assim como as consultas com JDBC nativo) irá, sempre, trazer todos os registros existentes no banco de dados, em um select.
Mesmo que você os insira manualmente (ou manipule através de stored procedures, cursores, functions, triggers, outros sistemas e demais possibilidades).

Isso acontece por que é uma premissa dos mecanismos que irão efetuar o acesso ao banco de dados e as respectivas ações solicitadas.

Posso dizer que esse comportamento citado por ti é algo totalmente fora dos padrões.

Bom sempre tive este problema aqui, pesquisando a culpa é do cache que o Hibernate faz e a recomendação é desligar este cache, mas gostaria de outra opinião pois desligar o cache perderia o desempenho.

Aqui não funciona como vc descreveu, se eu executo uma consulta na tabela Cliente com o Hibernate, e depois disso eu entrar direto no banco e adicionar um insert em cliente, e busca-lo com o Hibernate após a inserção o registro não vem, agora se a inserção for feita pelo Hibernate ai vem de boa.

Então o que acontece é, se outro sistema atualizar a base, no segundo sistema que utiliza o hibernate não será mostrado esta atualização!

Bom, o hibernate não possui um único gerenciador de cache, você poderia optar por outro…
Se está utilizando a API do hibernate, pode substituir por JPA…
Quanto de performance está em questão?
Talvez trocar o hibernate por TopLink ou EclipseLink pudessem melhorar isso…
Talvez utilizar jdbc mesmo…
Mas, sinceramente, parece que você está tendo dificuldades com a forma de configurar o hibernate…