【发布时间】:2022-01-14 09:34:53
【问题描述】:
有两个实体,实体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 已经创建时保留它,或者在它尚未创建时创建一个新实体。 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方法,这个操作的结果是分离实体传递给persist。您对如何正确操作有任何指导吗?这是一个 Spring Boot 应用程序,因此它通过 REST API 保存。
【问题讨论】:
-
它相当简单。不是完全匹配,但你会从这里得到想法github.com/ajkr195/ThymeleafDynamicFields
-
@AjayKumar 你能在这里提供答案吗?
-
如果我提供的示例有帮助,则无需回答和臃肿。顺便说一句,该示例对您有帮助吗?
-
@AjayKumar 它没有。没有
@ManyToMany关系,并且在上面提供的 JSON 结构的示例中,它并没有像我希望的那样执行。 -
您的问题是关于持久化@OneToMany 实体。不是吗?
标签: java spring hibernate jpa orm