Hibernate - Mapeamento

2 respostas
gustavodelgado

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

2 Respostas

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/

gustavodelgado

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/

Obrigado cara… achei neste link um exemplo usando
Funcionou quando coloquei

<list …

Sabe se este list-index é sempre obrigatório?

Criado 25 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 2
Participantes 2