Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Hibernate abrindo várias conexões

Olá,

Seguindo os exemplos mostrados neste treinamento, mais especificamente neste capítulo, ao invés do Hibernate utilizar o cache de segundo nível, ele cria mais conexões ao banco.

O que pode ter ocorrido para tal problema?

4 respostas

Fala Rafael, tudo bem?

podem ser várias coisas, vc poderia passar o seu código onde está configurando o cache de segundo nível e se possível o seu log onde está mostrando várias conexões?

obrigado =)

solução!

Olá Samir, tudo ótimo! E vc?

Eu acabei descobrindo por mim mesmo o que causava as várias conexões abertas com o banco de dados.

Ao utilizar a instrução:

dataSource.setIdleConnectionTestPeriod(1);

para configurar uma conexão vazia como teste com o banco, o EntityManager não fazia cache das entidades, mesmo com o hibernate configurado.

Sei que, ao comentar a linha acima citada, o EntityManager passou a cachear as entidades normalmente.

O motivo pelo qual isso acontece, eu ainda não sei. Agradeceria muito se você ou algum outro colega respondesse o porquê dessa situação ocorrer.

Mais uma vez, obrigado pelo apoio e atenção!

Abraços!

Tem mais cara de bug(supondo que muitas conexões realmente estavam sendo abertas) do que outra coisa. A query de teste não deveria invalidar o cache, pelo menos na minha opinião.

Alberto,

Eu também acredito nisso.

Muito obrigado mesmo pela ajuda!

Abraços!