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