Hola a todos, resulta que todavía no resolví mi problema, no me sale el error que mencioné anteriormente, pero no me borra la venta de la subasta, así tengo el código:
Código Java:
Ver originalpackage app.model.entity;
import app.contr.util.Conversiones;
import java.io.Serializable;
import java.util.*;
import javax.persistence.*;
import up.max.proyectpages.structs.PagesList;
@Table(name = "subastas")
@NamedQueries({
@NamedQuery(name = "subasta.findAll",query = "select s from Subasta s"),
@NamedQuery(name = "subasta.maxId",query = "select max(s.id)+1 from Subasta s"),
@NamedQuery(name = "subasta.search",query="select s from Subasta s "
+ "where s.direccion.nombre like :criterio or s.subastador.ape1 like :criterio")
})
{
........
@OneToMany(mappedBy = "key.subasta",cascade = {CascadeType.PERSIST, CascadeType.REMOVE}, fetch = FetchType.LAZY,orphanRemoval=true)
........
public void addVenta
(Venta v
) throws Exception{ if(ventas.contains(v)){
throw new Exception("La venta ya fue registrada"); } else {
ventas.add(v);
}
}
public void delVenta(Venta v){
v.getKey().setObjs(null);
ventas.remove(v);
}
el delVenta no me funciona.
Código Java:
Ver originalpackage app.model.entity;
import java.io.Serializable;
import java.util.List;
import javax.persistence.*;
@Table(name = "ventas")
{
@EmbeddedId
private VentaKey key;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "estId")
private Estado obje;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "venta")
private List<Registro>registros;
.........
}
Me borra en el jtable pero no me borra en la base de datos.
Código Java:
Ver originalpackage app.model.entity;
import java.io.Serializable;
import javax.persistence.*;
@Embeddable
{
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "suId")
private Subasta subasta;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "artId")
private Artefacto obja;
.........
}
No sé que solución me dan pero quiero terminar con este onetomany.
Espero sus respuestas y Saludos.