Seguinte… Excurando a consulta HQL direto no editor do Hibernate tenho o retorno esperado…
from EndEndereco e where e.cep = ‘72630310’ //Meu cep… EndEndereco = Mapeamento referente a tabela end_endereco.
O retorno da consulta é: Cep = 72630310
EndCidade (Um objeto)
EndBairro (Um objeto)
Endereco (Quadra 403 Conjunto 10)
No java tenho o seguinte código:
private Session session;
private EndEndereco endereco = new EndEndereco()
public void recuperarEndereco(String cep) {
session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
endereco = (EndEndereco) session.createQuery("FROM EndEndereco e Where e.cep = " + cep);
/*Mesma consulta efetuada no editor*/
session.getTransaction().commit();
session.close();
/*Testando retorno*/
System.out.println("Endereco: " + endereco.getEndereco());
System.out.println("Cidade: " + endereco.getEndCidade().getCidade());
System.out.println("Bairro: " + endereco.getEndBairro().getBairro());
}
public static void main(String[] args){
ClinicaController teste = new ClinicaController();
teste.recuperarEndereco("72630310");
}
Não tenho erro de compilação, porém ao executar o código gera uma exceção: org.hibernate.impl.QueryImpl cannot be cast to model.entity.EndEndereco
Se eu remover o casting, gera erro: incompatible types… required: model.entity.EndEndereco found: org.hibernate.query
Não está faltando um getResult ou getSingleResult ou alguma coisa do tipo não?
Jakefrog… Em todos os exemplos (Tutoriais) que vi, na pesquisa utilizam apenas o cast quando o retorno é um objeto. Não conheço muito sobre Hibernate, então não sei como utilizar o método getResult ou getSingleResult…
Estou procurando explicações agora especificamente sobre esses métodos para verificar se resolvem meu problema…
Sabe me informar, como/onde utiliza-los?
procurei na internet hibernate tutorial e o primeiro resultado
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/tutorial.html
ele usa .list() ou .uniqueResult
Apenas o nome que muda mas eu não achei tutorial mostrando do modo como você falou.
Os métodos q eu citei são do JPA puro, o hibernate mudou o nome dos métodos.
[quote=jakefrog]procurei na internet hibernate tutorial e o primeiro resultado
http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/tutorial.html
ele usa .list() ou .uniqueResult
Apenas o nome que muda mas eu não achei tutorial mostrando do modo como você falou.
Os métodos q eu citei são do JPA puro, o hibernate mudou o nome dos métodos.[/quote]
JakeFrog… Realmente isso me ajudou bastante… Eu já tinha visto esses exemplos, mas não me atentei ao .uniqueResult(). Vi o List() e como meu retorno não era uma lista dava pra imaginar que não ia funcionar…
Vi em algum lugar (acho que na devmedia) usando apenas o cast [Não sei no dele, mas no meu caso não funcinou]… Com o .uniqueResult() tudo funcionou conforme o esperado…
Muito obrigado pela ajuda!!!