为了账号安全,请及时绑定邮箱和手机立即绑定

@ManyToOne 未填写父 ID 字段

@ManyToOne 未填写父 ID 字段

哆啦的时光机 2021-10-28 15:16:49
我在父实体和子实体之间存在多对一的双向关系。问题是,当我坚持孩子时,parent_id没有坚持。其他字段都很好,但parent_id留在NULL. 我正在使用带有 Hibernate 和 mapstruct 的 Spring Data JPA 在实体和 dto 之间进行转换,如果有帮助的话。java文件如下:@Entity@Table(name = "Parent")public class ParentEntity implements Serializable {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Integer id;    @OneToMany (fetch = FetchType.LAZY, mappedBy="parent_entity", cascade = { CascadeType.ALL })    private List<Child> children;}@Entity@Table(name = "Child")public class ChildEntity implements Serializable {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Integer id;    @ManyToOne(optional = true)    @JoinColumn(nullable = true, name = "parent_entity_id", insertable = false, updatable = false)    private Parent parent_entity;}我已经尝试了一堆来自 SO 的答案,但目前无济于事。
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

由于您使用的是双向关系,您现在负责为您的孩子设置一个父级。并删除insertable = false.


查看完整回答
反对 回复 2021-10-28
?
潇湘沐

TA贡献1816条经验 获得超6个赞

据我所知。您必须在父级和子级中相互添加。仅将孩子添加到列表中似乎不起作用。

试试看,看看是否能解决问题。


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 248 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信