如何在Jpa中使用所选实体创建行,RestController Spring Boot

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Jpa中使用所选实体创建行,RestController Spring Boot相关的知识,希望对你有一定的参考价值。

我有3个实体A,B,C,其中C将通过带有@OneToOne关系实体A和@ManyToOne实体B的JSON创建,如何使用JSON发送数据,我只需要发送ID或实体A,B的完整数据。我也使关系可插入和可更新为false,因为它们不需要更新或创建,只需要在值列表中进行选择即可。

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(...)
private Set<B> objB = new HashSet<B>();

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(...)
private A objA;

我正在发布的JSON,

{
  "name": "Test Store",
  "description": "Test Description",
  "objB": [
    {
      "id": 19
    }
  ],
  "objA": {
    "id": 1,
  }
}

如果我这样发送,则objB的Object为null,而objA的JSON解析错误。我该如何处理。什么是最好的方法。

答案

您尝试这样使用吗?

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(...)
private List<B> objB;

以上是关于如何在Jpa中使用所选实体创建行,RestController Spring Boot的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止 eclipse 从表中自动创建 JPA 实体?

netbeans如何通过数据库创建实体类

在 Spring Data JPA 中,如何在运行时添加实体?

JPA,如何使用同一个类(实体)来映射不同的表?

如何克隆 JPA 实体

如何使用 JPA Criteria API 连接不相关的实体