iai pessual, to com um probleminha aqui na hora de excluir tabelas relacionadas, é uma aplicação web e to usando hibernate. meus POJOs estao assim:
@Entity
@Table(name="tb_venda_orcamento")
public class VendaOrcamento {
@Id
@GeneratedValue
@Column(name="id_venda_orcamento")
private Long id;
@Temporal(TemporalType.DATE)
private Date dataEmissao;
@ManyToOne
private FormaPagamento formaPagamento;
@ManyToOne
private TipoPagamento tipoPagamento;
@ManyToOne
private TipoOrcamento tipo;
@ManyToOne
private Parceiro parceiro;
@OneToMany(mappedBy="vendaOrcamento", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection<ItemVendaOrcamento> itemVendaOrcamentos;
@Entity
@Table(name = "tb_item_venda_orcamento")
public class ItemVendaOrcamento {
@Id
@GeneratedValue
private Long id;
@Temporal(TemporalType.DATE)
private Date dataCad;
private Integer quantidade;
private Double valorProduto;
@ManyToOne
@JoinColumn(name="id_produto")
private Produto produto;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="id_venda_orcamento", insertable=true, updatable=true)
@Fetch(FetchMode.JOIN)
@Cascade(CascadeType.ALL)
private VendaOrcamento vendaOrcamento;
@OneToMany(mappedBy="itemVendaOrcamento", fetch=FetchType.LAZY)
@Cascade(CascadeType.ALL)
private Collection<Garantia> garantias;
e o erro:
exception
javax.servlet.ServletException: Could not execute JDBC batch update
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:95)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
java.sql.BatchUpdateException: Cannot delete or update a parent row: a foreign key constraint fails (`wisa_data/tb_item_venda_orcamento`, CONSTRAINT `FK5BF499D23AAD7285` FOREIGN KEY (`id_venda_orcamento`) REFERENCES `tb_venda_orcamento` (`id_venda_orcamento`))
com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:665)
com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
......
O problema parece ser no relacionamento entre itemVendaOrcamento e VendaOrcamento, porem para mim ja esta mapeado para ter todas as operações entre relacionamentos com o @Cascade(CascadeType.ALL).
Alguem ai sabe o que pode ser?
vlw