Estou utilizando o Hibernate para criar uma aplicação desktop,
gostaria que explicassem um pouco sobre os tipos de coleções na hora do mapeamento com as tabelas do BD, e qual é melhor para utilizar na aplicação.
Eu utilizei o Collection e algumas classes cria muitos collections na hora de fazer um relacionamento N:N esses collections ajudam? Ou é necessario criar uma classe?
No meu caso tenho uma classe obra e Autor elas tem um relacionamento de N:N, como faço para o IdAutor apareça na classe Obra? Estou com dúvidas nisso!
Na classe Obra tem o seguinte código de relacionamento (Usando Annotations do Hibernate):
@ManyToMany(mappedBy = "itemBibliotecaCollection")
private Collection<Autor> autorCollection;
E ainda:
[code]@XmlTransient
public Collection getAutorCollection() {
return autorCollection;
}
public void setAutorCollection(Collection<Autor> autorCollection) {
this.autorCollection = autorCollection;
}[/code]
E a classe Autor recebe o seguinte:
@JoinTable(name = "ItemBibliotecaAutor", joinColumns = {
@JoinColumn(name = "CodAutor", referencedColumnName = "CodAutor", nullable = false)}, inverseJoinColumns = {
@JoinColumn(name = "CodItemBiblioteca", referencedColumnName = "CodItemBiblioteca", nullable = false)})
@ManyToMany
private Collection<ItemBiblioteca> itemBibliotecaCollection;
E tambem aparece um Annotation XML Transient com:
[code] @XmlTransient
public Collection getItemBibliotecaCollection() {
return itemBibliotecaCollection;
}
public void setItemBibliotecaCollection(Collection<ItemBiblioteca> itemBibliotecaCollection) {
this.itemBibliotecaCollection = itemBibliotecaCollection;
}[/code]