Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除子帐户时,将父帐户id设置为null_Java_Hibernate_Orm_Persistence_Entitymanager - Fatal编程技术网

Java 删除子帐户时,将父帐户id设置为null

Java 删除子帐户时,将父帐户id设置为null,java,hibernate,orm,persistence,entitymanager,Java,Hibernate,Orm,Persistence,Entitymanager,我有以下问题: 我有班级家长和班级孩子 父项可以有子项(但也可以没有子项而存在),子项必须有其父项 我希望实现以下场景: 删除子项,使父项不再具有此子项(例如,父类中的子项设置为null) 是关于cascadeType还是别的什么?我怎样才能做到呢 import ... @Table(name = "childtable") public class Child{ @Id @GeneratedValue(...) @SequenceGenerator(...)

我有以下问题:

我有班级家长和班级孩子

父项可以有子项(但也可以没有子项而存在),子项必须有其父项

我希望实现以下场景:

删除子项,使父项不再具有此子项(例如,父类中的子项设置为null)

是关于cascadeType还是别的什么?我怎样才能做到呢

import ...
@Table(name = "childtable")
public class Child{

    @Id
    @GeneratedValue(...)
    @SequenceGenerator(...)
    @Column(name = "id", nullable = false)
    private Integer id;

    ... some fields ...

    @OneToOne(mappedBy = "childrenSomething", cascade = CascadeType.PERSIST)
    @JsonManagedReference
    private Parent parent;
    ...
}

import ...
@Entity
@Table(name = "parenttable")
public class Parent implements Serializable {

    @Id
    private String ID;

    ... some fields ...

    @OneToOne(cascade = CascadeType.REMOVE)
    @JoinColumn(name="childID", nullable = true, referencedColumnName = "id")
    @JsonBackReference
    Child childrenSomething;


}


您是如何进行删除的以及您获得了什么?将
orphanRemoving=true
添加到
childrenSomething
上的OneTONE注释中,并使用
parent.setChildrenSomething(null)
。或者将其设置为null,并显式删除子级。你尝试过什么,你期望会发生什么,然后发生了什么?我会和你一起检查这个选项。。。所以基本上如果我在父项中设置孤儿移除为真,然后在父项中设置子项为空。。。那么孩子应该自己离开吗?