java - 休眠持久化与多对多关系的瞬态对象
问题描述
我正在寻找一种方法来保存具有多对多关系的 Set 类型字段的对象,我得到这个 Set 时只通知了 Id 属性。但是我遇到了错误“未保存的瞬态实例”,我希望能够保存这个集合,而不必接收具有所有属性的对象,只需要 ID。
@ManyToMany
@JoinTable(
name = "examclinic_term",
joinColumns = { @JoinColumn(name = "idexamclinic") },
inverseJoinColumns = { @JoinColumn(name = "idterm") }
)
Set<Term> terms = new HashSet<>();
我的实体
@Entity
public class Term {
@ID
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String description;
private String html;
}
json
[
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
]
错误
object references an unsaved transient instance - save the transient instance before flushing
解决方案
推荐阅读
- java - Swagger 与 Springboot 使用 java 注释添加个性化信息
- r - 动画叠加线图 R
- python - Google Sheets/Drive API 的权限不足错误:“提供的 OAuth 范围或 ID 令牌受众无效”
- reactjs - 删除并重新安装 create-react-app 会给我现有的项目带来问题吗?
- c# - 将xml标签序列化为c#字典
- webrtc - 浏览器引擎会限制 WebRTC 速度吗?
- c++ - 从文本文件中读取数据并将数据存储到表中使用 C++ 生成了损坏的表
- go - 用 Helm 展平字典
- java - 我无法在 recyclerView 上显示我的 firebase 实时数据库中的数据
- sql - 选择给定日期之前的最新行