Olá,
Para mapear uma classe que possui uma lista de objetos de outra classe, preciso criar no hbm.xml a tag <set/>
A dúvida é a seguinte… depois de muito apanhar, descobri que o atributo que possui a lista de objetos de outra classe, deve ser do tipo “Set”, por ex:
public Class Turma{
private Set alunos = new HashSet();
}
No Turma.hbm.xml, ficaria algo assim:
<set name=“alunos” inverse=“true” cascade=“delete”>
<key column=“id_turma”/>
<one-to-many class=“Aluno”/>
</set>
certo?
E se na minha classe Turma, o atributo alunos fosse de outro tipo, como
private Aluno[] alunos;
ou então
private List alunos;
Como ficaria o mapeamento desse atributo no hbm?? Eu imaginava que fosse a mesma coisa, porém não funcionou em meus testes… :?
[]s
vc não precisa obrigatoriamente usar um set…o set seria o mais simples…vc pode usar list ou map por exemplo…o tratamento de cada collection difere em alguns aspectos como elementos duplicados etc…vc deve ver o que eh melhor pra vc…
de uma olhada aqui…capitulo 6
http://www.hibernate.org/hib_docs/v3/reference/en/html/
[quote=zelopes]vc não precisa obrigatoriamente usar um set…o set seria o mais simples…vc pode usar list ou map por exemplo…o tratamento de cada collection difere em alguns aspectos como elementos duplicados etc…vc deve ver o que eh melhor pra vc…
de uma olhada aqui…capitulo 6
http://www.hibernate.org/hib_docs/v3/reference/en/html/
[/quote]
Obrigado cara… achei neste link um exemplo usando
Funcionou quando coloquei
<list …
Sabe se este list-index é sempre obrigatório?