繁体   English   中英

如何保持单向@ManyToMany 实体

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM