有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JPA如何为实体实施OneOnOne关系?

我有以下伪实体

public class Child {

    @OneToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="PARENT_ID")
    private Parent parent;

}

public class Parent {

    @OneToOne(fetch=FetchType.LAZY, mappedBy="parent",cascade=CascadeType.ALL)
    private Child child;

}

数据库:

PARENT
PARENT_ID, PARENT_NAME
1        , "John"
2        , "Bob"

CHILD
ID, PARENT_ID
1 , 1
2 , 2

现在我从数据库中加载父1,并相应地得到子1。但随后我将child1parent设置为parent2并提交更改。子1的父ID更改为2,但子2仍具有父ID 2。所以DB看起来像这样:

CHILD
ID, PARENT_ID
1 , 2
2 , 2

考虑到OneTONE关系,JPA是否有办法检测父2已被重新分配给子1并使子2的父项为空

运行日食


共 (0) 个答案