[英]How to persist uni-directional @ManyToMany entities
有两个实体,实体 A 具有@ManyToMany
注释并且知道实体 B。
@Entity
class EntityA {
@Id
private Long id;
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "entity_a_entity_b", joinColumns = @JoinColumn(name = "fk_entity_a"), inverseJoinColumns = @JoinColumn(name = "fk_entity_b"))
private Set<EntityB> entitiesB = new HashSet<>();
...
}
@Entity
class EntityB {
@Id
private Long id;
...
}
我希望能够在已经创建实体 B 时保留它,或者在没有创建新实体 B 时保留它。 JSON文件格式如下:
{
"name": "This is new Entity A",
"entitiesB": [
{
"name": "This is new Entity B"
},
{
"id": 1,
"name": "This entity B already exists"
}
]
}
最后,使用单行entityARepository.save(entityA)
调用 save 方法,此操作的结果是将分离的实体传递给持久化。 您对如何正确操作有任何指导吗? 这是一个 Spring 引导应用程序,因此它通过 REST API 保存。
我找到了解决方案。 在保存 entityA 之前,通过它们的存储库检索实体 B 并将检索到的对象传递给集合就足够了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.