简体   繁体   English

无法删除或更新父行 外键约束失败 JPA Spring 引导

[英]Cannot delete or update a parent row a foreign key constraint fails JPA Spring Boot

I have a request table related to 2 tables where I save the request number according to the type of request that can be a request for water analysis and request for soil analysis, but when I try to delete or update the request table I get the error我有一个与 2 个表相关的请求表,我根据请求类型保存请求编号,这些请求可以是水分析请求和土壤分析请求,但是当我尝试删除或更新请求表时,我收到错误

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

My code that implements the relationships is the following is the following我实现关系的代码如下

//class for request //请求类

@Entity
@Table(name = "solicitud")
public class Solicitud implements Serializable{

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Long id;
    
    //@Column(unique=true)
    //private String codigo;
    
    @ManyToOne(fetch = FetchType.LAZY)
    private Estado estado;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Temporal(TemporalType.DATE)
    @NotNull
    @Column(name="fecha")
    private Date fecha;
    
    @JsonIgnore
    @ManyToOne(fetch = FetchType.LAZY)
    private Usuario usuario;
    
    @JsonIgnore
    @ManyToOne(fetch = FetchType.LAZY)
    private Usuario teclab;
    
    @JsonIgnore
    @ManyToOne(fetch = FetchType.LAZY)
    private TipoMuestra tmuestra;
    
    
    
    //@Min(value = 0L, message = "Debe ingresar un valor positivo")
    //@Pattern(regexp = "[\\s]*[0-9]*[1-9]+",message="msg")
    @NotNull
    private Integer numMuestras;
    
    int year = 0;
    
    
    
    public Long getId() {
        return id;
    }



    public void setId(Long id) {
        this.id = id;
    }



    public Estado getEstado() {
        return estado;
    }



    public void setEstado(Estado estado) {
        this.estado = estado;
    }



    public Date getFecha() {
        return fecha;
    }



    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }
    
    


    public Usuario getUsuario() {
        return usuario;
    }



    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }




    public TipoMuestra getTmuestra() {
        return tmuestra;
    }



    public void setTmuestra(TipoMuestra tmuestra) {
        this.tmuestra = tmuestra;
    }
    
    public Integer getNumMuestras() {
        return numMuestras;
    }



    public void setNumMuestras(Integer numMuestras) {
        this.numMuestras = numMuestras;
    }




    public Usuario getTeclab() {
        return teclab;
    }



    public void setTeclab(Usuario teclab) {
        this.teclab = teclab;
    }
    
    





    /*@PostPersist
    public void generateCode() {
        CodigoAgua agua=new CodigoAgua();
        agua.setSolicitud(this);
        agua.generateCode();
    }*/






    /**
     * 
     */
    private static final long serialVersionUID = 1L;

}

//class for save number for type request water analysis //用于类型请求水分析的保存编号类

@Entity
@Table(name = "cagua")
public class CodigoAgua implements Serializable{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(unique=true)
    private String codigo;
    
    @OneToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name="solicitud_id")
    private Solicitud solicitud;
    
    int year = 0;
    
    
    
    public Long getId() {
        return id;
    }

    

    public void setId(Long id) {
        this.id = id;
    }



    public String getCodigo() {
        return codigo;
    }



    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }



    public Solicitud getSolicitud() {
        return solicitud;
    }



    public void setSolicitud(Solicitud solicitud) {
        this.solicitud = solicitud;
    }
    @PostPersist
    public void generateCode() {
        Date date = new Date();
        LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
          year = localDate.getYear();
          
        this.codigo=year +" - "+id+" - A";
        System.out.println("Codigo solicitud creado"+id+this.getSolicitud().getId());
    }

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

}

//class for save number for type request soil analysis //用于类型请求土壤分析的保存编号类

@Entity
@Table(name = "csuelo")
public class CodigoSuelo implements Serializable{

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(unique=true)
    private String codigo;
    
    @OneToOne(fetch=FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name="solicitud_id")
    private Solicitud solicitud;
    
    int year = 0;
    
    
    
    
    public Long getId() {
        return id;
    }




    public void setId(Long id) {
        this.id = id;
    }




    public String getCodigo() {
        return codigo;
    }




    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }




    public Solicitud getSolicitud() {
        return solicitud;
    }




    public void setSolicitud(Solicitud solicitud) {
        this.solicitud = solicitud;
    }

    @PostPersist
    public void generateCode() {
        Date date = new Date();
        LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
          year = localDate.getYear();
          
        this.codigo=year +" - "+id+" - S";
        System.out.println("Codigo solicitud creado"+id+this.getSolicitud().getId());
    }


    /**
     * 
     */
    private static final long serialVersionUID = 1L;

}

This message indicates that you want to delete a row from table1, while its primary key is present as a foreign key in table2.此消息表明您要从 table1 中删除一行,而其主键作为外键存在于 table2 中。 To delete a record from table1, you must delete all the lines that refer to it in the other tables in order to be able to delete this record.要从 table1 中删除一条记录,您必须删除在其他表中引用它的所有行才能删除该记录。 I hope I've helped you我希望我对你有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法删除或更新父行:Spring Boot JPA 中的外键约束失败 - Cannot delete or update a parent row: a foreign key constraint fails in Spring Boot JPA JPA @ManyToMany - 无法删除或更新父行:外键约束失败 - JPA @ManyToMany - Cannot delete or update a parent row: a foreign key constraint fails 休眠:无法删除或更新父行:外键约束失败 - Hibernate :Cannot delete or update a parent row: a foreign key constraint fails ManyToMany - 无法删除或更新父行:外键约束失败(JAVA SPRING) - ManyToMany - Cannot delete or update a parent row: a foreign key constraint fails (JAVA SPRING) 如何解决无法添加或更新子行:Spring JPA 中的外键约束失败错误? - How to solve Cannot add or update a child row: a foreign key constraint fails error in Spring JPA? 无法删除或更新父行:外键约束在Hibernate create-drop上失败 - Cannot delete or update a parent row: a foreign key constraint fails on Hibernate create-drop MySQL中的@OneToMany错误:无法删除或更新父行:外键约束失败 - @OneToMany errors in MySQL: Cannot delete or update a parent row: a foreign key constraint fails Hibernate引发-无法删除或更新父行:外键约束失败 - Hibernate throws - Cannot delete or update a parent row: a foreign key constraint fails Hibernate 错误:无法删除或更新父行:外键约束失败 - Hibernate ERROR: Cannot delete or update a parent row: a foreign key constraint fails 休眠错误:无法删除或更新父行:外键约束失败 - Hibernate error:Cannot delete or update a parent row: a foreign key constraint fails
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM