O que eu quero é buscar todos os Pais, mas que tragam junto apenas os filhos com idade = x
vou tentar ser mais claro…
Eu tenho um Pai na minha tabela que tem 3 filhos um desses filhos com 4 anos(que não virá nessa busca) e 2 Filhos (não sei por qual motivo) com 6 anos(Esses dois virão na busca com o pai)
eu quero fazer uma query em HQL que me traga o(s) Pai(s) com filhos de 6 anos!
List paisComFilhoIdadeX = session.createCriteria(Pai.class)
.setFetchMode("filhos", FetchMode.JOIN) //observar SQL e resultado gerado para saber se será necessário esta linha
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) //observar SQL e resultado gerado para saber se será necessário esta linha
.add(Restrictions.eq("filhos.idade", X))
.list();
kadu.m.lino
javaflex, vlw pela ajuda… mas a sua query não está certa!
.add(Restrictions.eq("filhos.idade",X))
ñ posso fazer isso…
e no site ho uaiHerbert ñ tem!
vlw
javaflex
kadu.m.lino:
javaflex, vlw pela ajuda… mas a sua query não está certa!
.add(Restrictions.eq("filhos.idade",X))
ñ posso fazer isso…
e no site ho uaiHerbert ñ tem!
vlw
Qual erro foi exibido? Qual SQL gerado? Por quê não pode fazer isso? Você não queria os pais com filhos de idade = X? É o que está ai, e especifique melhor o que você quer pois no site do Herbert tem o que você falou até agora.
kadu.m.lino
n, eu n devo ter sido muito claro na pergunta…
na verdade eu quero os pais n q tenha filhos com idade = x
mas sim os pais contendo os filhos com idade = x
tendeu?
se eu tenho um pai com n filhos quero que minha query traga o pai com só alguns determinados filhos… não todos!
Esse seria o pai no banco!
Pai :
id = 2
nome = ze
filhos : [filho1, filho2, filho3]
esse seria o Pai que veio da minha consulta
Pai :
id = 2
nome = ze
filhos : [filho1]
pq só o filho1 tem idade = x
ficou mais claro?
vlw
abrass
kadu.m.lino
javaflex, consegui resolver com Filter do hibernate!