json - 如何修复 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
解决方案
cascade = {CascadeType.MERGE,
CascadeType.REMOVE}
你必须合并这些值,所以只给级联类型合并。
推荐阅读
- c# - Unity 2D中如何限制回弹角度?
- regex - 正则表达式匹配,直到找到第三次出现的字符,从字符串末尾开始计算所述字符的出现次数
- php - mysqli->insert_id 在移动到新服务器后总是在 PHP 中返回 0
- git - 如何使用 git log pickaxe 显示更改本身?
- vb.net - 跟踪窗口是最后一个焦点
- node.js - 如何将 Visual Studio 代码调试器附加到在 nginx 代理后面的 docker 机器上运行的 Node.JS 应用程序
- angular - 在 FlatMap 完成所有请求后做一个过程
- java - Bazel java.lang.ClassNotFoundException: javax.servlet.http.HttpSessionIdListener
- java - Netty中的“操作完成”是什么意思
- ruby - 如何在 Ruby 中使用 Google 数据传输 API 进行传输