A primeira vez que estou tendo esse erro, alguém pode dar uma dica?
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
A primeira vez que estou tendo esse erro, alguém pode dar uma dica?
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Oi Clerman, tudo bem?
apenas com essa linha não da pra saber o problema, você poderia passar o log completo? Assim podemos ter mais pistas do que pode estar acontecendo =)
Olá Samir, esse erro esta ocorrendo no servidor da Amazon EC2, mas na minha máquina não acontece o mesmo erro. O log é muito extenso, e esta relacionado ao dialect hibernate. Se achar necessário posto aqui, porém a página que estou acessando tem acesso liberado... Agradeço a ajuda por enquanto!
Olá Clerman,
De acordo com a documentação do Hibernate, disponível aqui, essa exceção é lançada quando o SQL enviado para o banco de dados possui algum problema.
Poderia por gentileza postar o código do método que disparou a exceção?
Oi Clerman, os bancos que vc está usando em produção e local são os mesmos? Mesma versão e etc? Pode ser que tenha que mudar esse dialeto no Persistence.xml.
Renato e Samir, essa mesma aplicação estava funcionando no ambiente da Amazon ec2 e depois de algumas evoluções no projeto, me estourou esse erro. Agora estou investigando as alterações que fiz conforme sugestão do Renato e terminando posto novamente o status.
Olá Samir e Renato, consegui identificar o erro aqui. O problema acontecia quando um parâmetro com um valor não esperado estava sendo passado para fazer a consulta e daí estourava o erro, não sei o por que do erro, e outra situação que a aplicação funcionava localmente e no servidor não!
Então Clerman, é que para dar uma resposta com certeza, teria que verificar como está o código e talvez configurações do ambiente.
Já aconteceu uma situação parecida comigo.
No meu caso, eu estava construindo o HQL concatenando os parâmetros para formar uma única String. Algo como:
String hql = "from XYZ x ";
hql += " where x.campo1 = '" + param1 + "' ";
hql += " and x.campo2 = " + param2;
Logicamente essa não é a melhor forma, mas era como estava. E nesse caso, no servidor dava um problema, enquanto que localhost não.
No servidor eu tinha um problema de charset, que desconfigurava o valor do "param1" e construía o HQL de forma errônea.
Não sei se é o seu caso, ou se é algo parecido, mas só ilustrando que às vezes isso pode acontecer. Mesmo o código-fonte sendo idêntico, o ambiente pode interferir no comportamento do seu sistema, especialmente quando o código-fonte deixa esse tipo de lacuna, que foi o meu caso nesse exemplo.