【问题标题】:JPA - Many to One where Child has the Parent idJPA - 多对一,其中子具有父 ID
【发布时间】:2020-03-17 04:54:01
【问题描述】:

样本

父类

@OneToMany(mappedBy = "parent")
private List<Child> childs;

儿童班

@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "parent_id")
private Parent parent;

我将子对象分配给父对象,然后持久化父对象。

问题

正在保存父项和子项,但是子标识中的parent 字段保存为空。

预期

我希望这两个实体都使用分配给 parent 字段的值来保存。

临时解

好吧,如果我坚持没有孩子的父母,然后分配孩子并合并父母,这一切都有效,但我想知道是否所有这些都可以在一个坚持中完成。

【问题讨论】:

    标签: java mysql spring spring-boot jpa


    【解决方案1】:

    我怀疑你只设置了一侧关系。你必须设置

    child.setParent(parent);
    parent.getChilds().add(child); // to avoid NullPoinerException childs have to be not null
    

    然后坚持child

    【讨论】:

    • 关于坚持孩子的最后一部分,在我的情况下,他们是一个列表,除了父母之外,我是否坚持每个孩子?那是因为孩子是父母ID的那个吗?
    • 你可以坚持父母而不是孩子
    猜你喜欢
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 2022-01-22
    • 2021-05-31
    • 1970-01-01
    • 2015-12-04
    相关资源
    最近更新 更多