1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Cannot delete or update a parent row: a foreign key constraint fails

Tenho as Entidades Cheque e Cliente, quero deletar um cliente mais que o cheque referente a esse cliente continue cadastrado com cliente nulo.

seque minha classes

@Entity
@Table(name = "cheque")
public class ChequeBean extends ClassePersistente {

    @Column(name = "responsavel", nullable = false, length = 100)
    private String responsavel;
    @Column(name = "cpf_cnpj", nullable = false, length = 20)
    private String cpfCnpj;
    @Column(name = "img_cheque", columnDefinition = "mediumblob")
    private byte[] ImgCheque;

    @ManyToOne()
    @JoinColumn(name = "id_banco_fk", insertable = true, updatable = true)
    @Fetch(FetchMode.JOIN)
    private BancoBean bancoBean;

    @ManyToOne()
    @JoinColumn(name = "id_cliente_fk")
    @Fetch(FetchMode.SELECT)
    private ClienteBean clienteBean;
@Entity
@Table(name = "cliente")
public class ClienteBean extends ClassePersistente {

    @Column(name = "nome", nullable = false, length = 50)
    private String nome;
    @Column(name = "cpf", length = 20)
    private String cpf;
    @Column(name = "rg", length = 10)
    private String rg;
    @Column(name = "data_nascimento", length = 10)
    @Temporal(TemporalType.DATE)
    private Date dataNascimento;
    @Column(name = "data_cadastro", length = 10)
    @Temporal(TemporalType.DATE)
    private Date dataCadastro;
    @Column(name = "telefone", length = 10)
    private String telefone;
    @Column(name = "celular", length = 10)
    private String celular;
    @Column(name = "email", length = 100)
    private String email;
    @Column(name = "foto", columnDefinition = "mediumblob")
    private byte[] foto;
    @Column(name = "observacoes")
    private String observacoes;
    @Column(name = "pontos")
    private Double pontos;

    @OneToMany(mappedBy = "clienteBean")
    @Cascade(CascadeType.ALL)
    private List<EnderecoBean> listaEndereco;

    @OneToMany(mappedBy = "clienteBean")
    @Cascade(CascadeType.ALL)
    private List<CartaoBean> listaCartao;

    @OneToMany(mappedBy = "clienteBean", fetch = FetchType.EAGER)
    @Cascade(CascadeType.SAVE_UPDATE)
    private List<ChequeBean> listaCheque;
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags delete ou faça a sua própria pergunta.