Erro na exclusão de com relacionamento [hibernate]

0 respostas
cs.santos0

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

Criado 23 de julho de 2008
Respostas 0
Participantes 1