Tenho duas classe pessoa e endereco , onde a relação é de é de N para 1.
Pessoa
---------------
id_pessoa int
id_endereco int
nome string
Endereco
-------------
id_endereco int
rua string
public class PessoaDAO
extends BaseDAO<Long, Pessoa> {
.
.
.
public Collection<Pessoa> BuscaDadosPorNome(final String nome) {
return getSession().createCriteria(Pessoa.class)
.add(Restrictions.like("nome", nome, MatchMode.START))
.createCriteria("endereco")
.list();
}
}
public class Teste2 {
public static void main(String[] args) throws IOException {
SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
sessionFactory.getCurrentSession().beginTransaction();
System.out.println("***********Testando metodo*************");
PessoaDAO pessoaDAO = new PessoaDAO(sessionFactory);
Collection<Pessoa> pessoa = pessoaDAO.BuscaDadosPorNome("A");
for (Pessoa pessoas : pessoa) {
System.out.println("ID: " + pessoas.getId() + " Nome : " + pessoas.getNome() +"| Endereco: "+pessoas.getEndereco());
}
/*for (Pessoa pessoas: pes){
System.out.println("pessoas : "+pessoas.getNome());
}*/
sessionFactory.close();
}
}
executando a clasee teste me retorna isso como resultado:
ID: 385 Nome : Alex| Data Nascimento: 2009-01-22 00:00:00.0| Endereco: Endereco@20590c62
A minha duvida seria como eu podiaria fazer para ele mostra a rua da classe endereco.
