Eh f…
Eu vim pro Java por 2 únicas razões, mas qdo apanho dessas coisas… cacetada, dá
vontade de continuar meu projeto onde eu realmente sei *rrr
Mas td bem, vamos indo, pq o q tô descobrindo do Java até agora, tá legal.
bsl.lacerda
Qual provider? Hibernate 3?
Posta aí o mapeamento do relacionamento entre estas duas classes…
De repente… Quem sabe…
UpTheIrons
Olá Bruno,
Usando o TopLink
Bruno Lacerda:
Qual provider? Hibernate 3?
Posta aí o mapeamento do relacionamento entre estas duas classes…
De repente… Quem sabe…
E eu quero Buscar por ex. uma conta (q seria filha)… e possa exibir tb a outra conta (pai).
Tendeu aí?
UpTheIrons
Consegui pegar, mas n sei se eh a melhor solução.
//Minha Queryem.createQuery("Select c FROM Conta c LEFT OUTER JOIN c.contaPaiCollection cp WHERE c.tipo.ID =:tipoId");//Outro pedaço de código...for(Contaconta:lsConta){System.out.println(conta.getDescricao());Collection<ContaDepende>lsCD=conta.getContaFilhoCollection();for(ContaDependecd:lsCD)System.out.println(cd.getPai().getDescricao());}
Vou testar mais.
Pq o q realmente eu queria era trazer já na consulta.
saviobarr
Segundo a spec, quando é necessário pegar um objeto, e carregar também os relacionamentos, deve-se usar o fetch type setado para EAGER.
Exemplo de um relacionamento pessoa-telefone, onde uma pessoa tem vários telefones.
Setando o fetch para EAGER, ao recuperar pessoa, vc recupera os telefones também.
Bom, esse foi meu entendimento sobre sua dúvida. Se eu estiver equivocado ficarei contente se você puder me explicar melhor o que precisa.
Feliz Natal a todos.
Sávio
UpTheIrons
Olá Savio, blz?
Era isso mesmo, eu tinha testado logo em seguida e ele tinha funcionado, só
q não precisei colocar fetch=FetchType.EAGER como parâmetro, é um padrão do Java?
Se for um padrão, isso n recarrega um objeto a toa, por ex, se eu quisesse carregar
um objeto sem as associações, n teria como então?
Feliz natal (atrasado)
saviobarr
Não é exatamente Java. É JPA, que inclusive o Hibernate também implementa. Para não carregar objetos “à toa”, não trazer os objetos relacionados, vc põe o valor do fetch = LAZY. Ex.:
Certo, era isso mesmo q eu queria, eu tinha lido sobre e tinha vacilado.
Eu tô me batendo em algo aqui (q tem a v com isso), se n eu conseguir,
vou postar hj ainda aqui a dúvida.
Falew!
UpTheIrons
Savio,
Como eu disse, aquela era a informação q eu precisava.
Mas me diz uma coisa, eu tenho uma tabela com relacionamento N-N,
que segue o seguinte modelo.
TabelaA
e a TabelaB que serve para manter a relação NN entre nos registros da tabelaA (recursivo)
Mas se quero por ex. selecionar um registro da TabelaA (registro filho) e apenas um campo da TabelaB (registro pai),
eu tô tendo q percorrer a coleção (tabelaB). Não teria como buscar de alguma forma mais limpa, já que o registro
da tabelaA (q no caso sendo filho) só pode ter um “pai”?