Ver Mensaje Individual
  #22 (permalink)  
Antiguo 06/10/2017, 22:57
Avatar de detective_jd
detective_jd
 
Fecha de Ingreso: abril-2011
Ubicación: Salto
Mensajes: 437
Antigüedad: 13 años
Puntos: 6
Respuesta: Guardar OneToMany Hibernate

Hola a todos estaba medio ausente, pero voy al punto es que cambié un poquito el código:

Código Java:
Ver original
  1. package app.model.entity;
  2. import java.io.Serializable;
  3. import javax.persistence.*;
  4. @Table(name = "ventas")
  5. public class Venta implements Serializable
  6. {
  7.     @Id
  8.     @Column(name = "id")
  9.     private int id;
  10.     @ManyToOne(cascade = CascadeType.ALL)
  11.     @JoinColumn(name = "suId")
  12.     private Subasta objs;
  13.     @ManyToOne(cascade = CascadeType.ALL)
  14.     @JoinColumn(name = "artId")
  15.     private Artefacto obja;
  16.     @ManyToOne(cascade = CascadeType.ALL)
  17.     @JoinColumn(name = "estId")
  18.     private Estado obje;
  19.     //@OneToMany(cascade = CascadeType.ALL, mappedBy = "venta")    
  20.     //private List<Registro>registros;
  21.  
  22.     public int getId() {
  23.         return id;
  24.     }
  25.  
  26.     public void setId(int id) {
  27.         this.id = id;
  28.     }
  29.    
  30.     public Subasta getObjs() {
  31.         return objs;
  32.     }
  33.  
  34.     public void setObjs(Subasta objs) {
  35.         this.objs = objs;
  36.     }
  37.  
  38.     public Artefacto getObja() {
  39.         return obja;
  40.     }
  41.  
  42.     public void setObja(Artefacto obja) {
  43.         this.obja = obja;
  44.     }
  45.        
  46.     public Estado getObje() {
  47.         return obje;
  48.     }
  49.     public void setObje(Estado obje) {
  50.         this.obje = obje;
  51.     }
  52.     public Venta() { }        
  53.     public Venta(Subasta xobjs, Artefacto xobja, Estado obje) {
  54.         this.objs = xobjs;
  55.         this.obja = xobja;
  56.         this.obje = obje;
  57.     }    
  58.     @Override
  59.     public boolean equals(Object obj){
  60.         if(obj instanceof Venta){
  61.             Venta v =(Venta)obj;
  62.             return v.objs.equals(this.objs) && v.obja.equals(this.obja);
  63.         } else {
  64.             return false;
  65.         }
  66.     }
  67.     @Override
  68.     public int hashCode(){
  69.         int hash = 17;
  70.         hash = 31 * hash + this.objs.hashCode();
  71.         hash = 31 * hash + this.obja.hashCode();
  72.         return hash;
  73.     }  
  74. }

Código Java:
Ver original
  1. import ....;
  2. @Table(name = "subastas")
  3. @NamedQueries({
  4.     @NamedQuery(name = "subasta.findAll",query = "select s from Subasta s"),
  5.     @NamedQuery(name = "subasta.maxId",query = "select max(s.id)+1 from Subasta s"),
  6.     @NamedQuery(name = "subasta.search",query="select s from Subasta s "
  7.             + "where s.direccion.nombre like :criterio or s.subastador.ape1 like :criterio")
  8. })
  9. public class Subasta implements Serializable
  10. {
  11. @OneToMany(mappedBy = "objs",cascade = CascadeType.ALL, fetch = FetchType.EAGER)
  12.     private List<Venta>ventas = new ArrayList();
  13. .........
  14. public void delVenta(Venta v){
  15.         //v.getKey().setObjs(null);
  16.         ventas.remove(v);
  17.     }
  18. }

No sé si tengo que agregar un controlador o que porque para agregar las ventas de la subasta lo hace así de fácil, pero para borrar no me borra las ventas de la subasta.

Espero sus respuestas y saludos.