java - 使用新对象修补或放置
问题描述
在我的应用程序中,我有以下两个对象:
@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
// ... //
@OneToOne
private B b;
}
@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String label;
// ... //
}
首先,我用 b null 记录对象 A。在我需要使用数据库中尚不存在的新对象 B 更新 A 之后,我想自动更新 A 并将 B 一起保存。你能告诉我怎么做这个手术吗?
注意:我不能在 JSON 请求中使用 B 链接,因为对象 B 尚不存在
解决方案
您可以添加 ann 注释,告诉您类保存级联您的连接实体
@Cascade({CascadeType.ALL})
所以你的班级会变成
@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
// ... //
@OneToOne
@Cascade({CascadeType.ALL})
private B b;
}
你可以在这里学习级联类型,这样你就可以选择最适合你需要的类型
推荐阅读
- apache-flink - 反应模式需要 Flink Adaptive Scheduler
- ios - 允许将硬件扫描仪输入到 Flutter iOS 应用程序中
- css - 在移动设备上一个接一个地显示 Coolum 数据,而在桌面上,它仅使用 CSS 成行显示,
- python - django.db.utils.ProgrammingError:递归模型不存在关系
- android - 如何使用 Jetpack Compose 在我的屏幕中使用 9 补丁可绘制对象 (.9.png)?
- r - 保存具有不同数据类型的列表
- javascript - 如何在图表 js 的 Y 轴上添加此刻度颜色?
- node.js - 从 Apigee 服务器获取 502 Bad Gateway
- azure-devops - Azure DevOps:使用 API 获取发布中包含的所有构建
- c# - 我的查询根本不起作用并抛出错误