【问题标题】:how to assign id mapped entity如何分配 id 映射实体
【发布时间】:2020-01-02 07:25:49
【问题描述】:
*@Entity
@Table(name = "model_data")
public class ModelData {
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @ManyToOne
    @JoinColumn(name = "diagram_id")
    private DiagramEntity diagram;
    //Getter Setter
}
@Entity
@Table(name = "diagram")
public class DiagramEntity {
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @JsonProperty(value = "class")
    private String aciklama;
    @OneToMany(mappedBy = "diagram")
    private Set<ModelData> modelData;

//Getter Setter 
}*

DiagramEntity 与模型数据实体具有多对一关系。然后我发帖

*{
    "modelData": [
        {
            "diagram": null,
        }
    ],
}* 

通过邮递员,DiagramEntity id 会自动更新,但我无法将 id 分配给 modelData 实体,也无法保存到数据库。我应该怎么办?

【问题讨论】:

  • 如何将 Json 映射到实体?
  • 我编写服务,但我不知道如何将 JSON 映射到我的实体
  • @SimonMartinelli 感谢您的回复。在您提出问题后,我找到了解决方案。

标签: spring-boot jpa


【解决方案1】:

我为我的问题找到了解决方案。我流式传输每个对象并映射到我的控制器类中的实体。

public DiagramEntityDto saveOrUpdate(@RequestBody DiagramEntityDto dto) {
        try {
            dto.getModelData().stream().map(a -> 
                 this.modelDataService.saveOrUpdate(a)).collect(Collectors.toSet());
            return this.diagramService.saveOrUpdate(dto);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return null;
    }

【讨论】:

    猜你喜欢
    • 2020-01-27
    • 2018-12-08
    • 2020-10-24
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2011-07-13
    • 2016-02-21
    • 1970-01-01
    相关资源
    最近更新 更多