import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.OneToMany; import java.util.Set; @Entity @Table(name = "genero") public class Genero { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int idgenero; private String nombre; @OneToMany(mappedBy = "genero") private Set<Libro> libros; // Constructor vacío public Genero() { } // Constructor con parámetros public Genero(String nombre) { this.nombre = nombre; } // Getters y Setters public int getIdgenero() { return idgenero; } public void setIdgenero(int idgenero) { this.idgenero = idgenero; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public Set<Libro> getLibros() { return libros; } public void setLibros(Set<Libro> libros) { this.libros = libros; } // Método toString (opcional) @Override public String toString() { return "Genero{" + "idgenero=" + idgenero + ", nombre='" + nombre + '\'' + '}'; } }
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.JoinColumn; import javax.persistence.Table; import javax.persistence.ManyToMany; import javax.persistence.JoinTable; import javax.persistence.Column; import java.util.Set; @Entity @Table(name = "libro") public class Libro { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int idlibro; @ManyToOne @JoinColumn(name = "idgenero") private Genero genero; private String titulo; private int paginas; @ManyToMany @JoinTable( name = "libro_autor", joinColumns = @JoinColumn(name = "idlibro"), inverseJoinColumns = @JoinColumn(name = "idautor") ) private Set<Autor> autores; // Constructor vacío public Libro() { } // Constructor con parámetros public Libro(Genero genero, String titulo, int paginas) { this.genero = genero; this.titulo = titulo; this.paginas = paginas; } // Getters y Setters public int getIdlibro() { return idlibro; } public void setIdlibro(int idlibro) { this.idlibro = idlibro; } public Genero getGenero() { return genero; } public void setGenero(Genero genero) { this.genero = genero; } public String getTitulo() { return titulo; } public void setTitulo(String titulo) { this.titulo = titulo; } public int getPaginas() { return paginas; } public void setPaginas(int paginas) { this.paginas = paginas; } public Set<Autor> getAutores() { return autores; } public void setAutores(Set<Autor> autores) { this.autores = autores; } // Método toString (opcional) @Override public String toString() { return "Libro{" + "idlibro=" + idlibro + ", genero=" + genero + ", titulo='" + titulo + '\'' + ", paginas=" + paginas + '}'; } }
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.ManyToMany; import javax.persistence.Table; import java.util.Set; @Entity @Table(name = "autor") public class Autor { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int idautor; private String nombre; @ManyToMany(mappedBy = "autores") private Set<Libro> libros; // Constructor vacío public Autor() { } // Constructor con parámetros public Autor(String nombre) { this.nombre = nombre; } // Getters y Setters public int getIdautor() { return idautor; } public void setIdautor(int idautor) { this.idautor = idautor; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public Set<Libro> getLibros() { return libros; } public void setLibros(Set<Libro> libros) { this.libros = libros; } // Método toString (opcional) @Override public String toString() { return "Autor{" + "idautor=" + idautor + ", nombre='" + nombre + '\'' + '}'; } }