Jpa 删除OneTONE关系

Jpa 删除OneTONE关系,jpa,reference,relationship,one-to-one,Jpa,Reference,Relationship,One To One,我们有以下映射: @Entity public class A { private B b; @OneToOne public B getB() { return b; } } 当我们删除A类对象时,它不能删除引用的对象B。由于与B的现有关系,我们在尝试删除A时遇到异常。正确的映射是什么?您应该禁用级联删除 @OneToOne(cascade = {}) 或者你可以试试 @OneToOne(orphanRemoval=false) 错误是什

我们有以下映射:

@Entity
public class A {
    private B b;

    @OneToOne
    public B getB() {
        return b;
    }
}

当我们删除A类对象时,它不能删除引用的对象B。由于与B的现有关系,我们在尝试删除A时遇到异常。正确的映射是什么?

您应该禁用级联删除

@OneToOne(cascade = {})
或者你可以试试

@OneToOne(orphanRemoval=false)

错误是什么,sql log?如果您没有在@OneToOne注释中指定它们,那么这些选项empty cascade和orphanRemoving=false是默认值,因此我认为这个答案不会起作用。