Hibernate Annotation - Relação muitos-para-muitos - como fazer?

4 respostas
MrDataFlex

Pessoal, possuo as classes:

Livro Autor

e uma associação manyToMany

LivroAutor

Como configuro uma situação muitos para muitos usando o hiber-annotation ?

Valeu galera (mt obrigado a todos que estão me ajudando!)

4 Respostas

felipealbuquerque
import java.util.List;

@Entity
public class Livro {

    @ManyToMany
    private List<Autor> autores;
}

@Entity
public class Autor {

    @ManyToMany(mappedBy="autores")
    private List<Livro> livros;
}

Esse é um exemplo simples. Obtenha mais informações nesse link

danbittencourt
// na classe Autor
@ManyToMany
private List<Livro> livros;
// na classe Livro
@ManyToMany(mappedby="livros")
private List<Autor> autores;

caso a associação LivroAutor possua algum atributo será necessário criar uma outra entidade LivroAutor que terá um relacionamento @ManyToOne com Autor e outro @ManyToOne com Livro

era isso que vc queria?

lgi2020

@ManyToMany private List<Livro> livros;

@ManyToMany(mappedby="livros") @Cascade(CascadeType.SAVE_UPDATE) private List<Autor> autores;

Tenta isso.

Abraços.

spycall

Na Classe livro

@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinTable(name="LIVROAUTOR",joinColumns = @JoinColumn(name="ID_LIVRO"),inverseJoinColumns = @JoinColumn(name="ID_AUTOR"))
private List<Autor> listAutor;

Na Classe Autor

@ManyToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinTable(name="LIVROAUTOR",joinColumns = @JoinColumn(name="ID_AUTOR"),inverseJoinColumns = @JoinColumn(name="ID_LIVRO"))
private List<Livro> listLivro;
Criado 5 de dezembro de 2007
Ultima resposta 5 de dez. de 2007
Respostas 4
Participantes 5