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 + '\'' +
'}';
}
}