首页 > 解决方案 > 如何修复 Spring Boot 中的“TransientPropertyValueException”错误

问题描述

我正在尝试使用 json 结构保存(POST),并且我需要使用外键(idClient 和 idUser),但它会产生所描述的错误,我不知道我是否正确发送它,idClient 手动创建它,不是自动生成的。

并试图用注释解决它,但我做不到。

@JsonIgnore
    @OneToMany(mappedBy = "idClient", cascade = { CascadeType.PERSIST, CascadeType.MERGE,
            CascadeType.REMOVE}, fetch = FetchType.LAZY, orphanRemoval = true)
    private Collection<Pres> presCollection1;


@JsonIgnore
    @OneToMany(mappedBy = "idUser", cascade = { CascadeType.PERSIST, CascadeType.MERGE,
            CascadeType.REMOVE}, fetch = FetchType.LAZY, orphanRemoval = true)
    private Collection<Pres> presCollection2;



 @ManyToOne

    @JsonIgnoreProperties("id_client")
    @JoinColumn(name = "id_client",  referencedColumnName = "identi")
    private Person idClient;


    @ManyToOne

    @JsonIgnoreProperties("id_user")
    @JoinColumn(name = "id_user",  referencedColumnName = "identi")
    private Person idUser;



JSON TO SEND


{ 
    "date": "2019-03-24T05:00:00.000Z",
    "lastDate": "2019-09-24T05:00:00.000Z",
    "idClient":{"idClient":11},
    "idUser":{"idUser":12}

}

我需要保存客户端和用户 ID

标签: jsonrestspring-boot

解决方案


cascade = {CascadeType.MERGE,
            CascadeType.REMOVE}

你必须合并这些值,所以只给级联类型合并。


推荐阅读