Pessoal
me corriga se eu estiver errado
Estou fazendo alguns testes aqui e tiver um problema com busca com criteria
Tenho uma Classe Pessoa
e outra Classe CachorroPessoa
meu relacionamento está assim
Classe Pessoa:
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
@JoinColumn(name="ID_CACHORRO_PESSOA")
private CachorroPessoa cachorroPessoa;
Meu metodo de busca..
(Antes do relacionamento funcionava, mas agora traz vazio)
Eu devo ter feito errado, pq confundo as anotações, mas uma Pessoa pode ter um Cachorro.. e o Mesmo cachorro pode ter varias pessoas
public List<Pessoa> buscarAllPessoas(Pessoa pessoaPojo) {
DetachedCriteria crit = DetachedCriteria.forClass(Pessoa.class);
if (pessoaPojo != null){
crit.add(Example.create(pessoaPojo).enableLike(MatchMode.ANYWHERE).ignoreCase());
}
return getHibernateTemplate().findByCriteria(crit);
}
Resumindo
meu dataTable tem que trazer o Nome da Pessoa e o Nome do Cachorro do lado, sendo que o nome do cachorro é da outra tabela
select
this_.ID_PESSOA as ID1_0_1_,
this_.ID_CACHORRO_PESSOA as ID4_0_1_,
this_.IDADE as IDADE0_1_,
this_.NOME_PESSOA as NOME3_0_1_,
cachorrope2_.ID_CACHORRO_PESSOA as ID1_1_0_,
cachorrope2_.INFO as INFO1_0_,
cachorrope2_.NOME_CACHORRO as NOME3_1_0_
from
PESSOA this_
left outer join
CACHORRO_PESSOA cachorrope2_
on this_.ID_CACHORRO_PESSOA=cachorrope2_.ID_CACHORRO_PESSOA
where
(
this_.IDADE=?
)