diff --git a/src/main/java/xyz/danielcortes/controllers/libro/LibroSearchController.java b/src/main/java/xyz/danielcortes/controllers/libro/LibroSearchController.java index 973fd83..98f3420 100644 --- a/src/main/java/xyz/danielcortes/controllers/libro/LibroSearchController.java +++ b/src/main/java/xyz/danielcortes/controllers/libro/LibroSearchController.java @@ -116,10 +116,7 @@ public class LibroSearchController extends BaseController { Ejemplar ejemplar = new Ejemplar(); ejemplar.setLibro(libro); ejemplar.setSerie(serie); - libro.getEjemplares().add(ejemplar); - this.ejemplarRepository.save(ejemplar); - this.libroRepository.update(libro); this.reload(); } diff --git a/src/main/java/xyz/danielcortes/models/Ejemplar.java b/src/main/java/xyz/danielcortes/models/Ejemplar.java index 820acff..9a8bb22 100644 --- a/src/main/java/xyz/danielcortes/models/Ejemplar.java +++ b/src/main/java/xyz/danielcortes/models/Ejemplar.java @@ -2,7 +2,6 @@ package xyz.danielcortes.models; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -26,7 +25,7 @@ public class Ejemplar { @JoinColumn(name = "libro_id") private Libro libro; - @ManyToOne(fetch = FetchType.EAGER) + @ManyToOne @JoinColumn(name = "estado_id") private Estado estado; @@ -52,6 +51,7 @@ public class Ejemplar { public void setLibro(Libro libro) { this.libro = libro; + libro.getEjemplares().add(this); } public Estado getEstado() { diff --git a/src/main/java/xyz/danielcortes/models/Libro.java b/src/main/java/xyz/danielcortes/models/Libro.java index 3c0a94e..45a7579 100644 --- a/src/main/java/xyz/danielcortes/models/Libro.java +++ b/src/main/java/xyz/danielcortes/models/Libro.java @@ -6,7 +6,6 @@ import java.util.Set; import javax.persistence.Column; import javax.persistence.Convert; import javax.persistence.Entity; -import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -71,7 +70,7 @@ public class Libro { @JoinColumn(name = "editorial_id") private Editorial editorial; - @OneToMany(mappedBy = "libro", fetch = FetchType.EAGER, orphanRemoval = true ) + @OneToMany(mappedBy = "libro") private Set ejemplares; public Integer getId() { @@ -171,6 +170,13 @@ public class Libro { this.ejemplares = ejemplar; } + public void addEjemplar(Ejemplar ejemplar) { + this.ejemplares.add(ejemplar); + if(ejemplar.getLibro() != this){ + ejemplar.setLibro(this); + } + } + @Override public String toString() { return this.isbn + " " + this.titulo;