我有以下伪实体
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
现在我从DB加载Parent 1,并相应地获取Child 1。但后来我将Child 1父项设置为Parent 2并提交更改。 Child 1 PARENT_ID更改为2,但Child 2仍然具有PARENT_ID 2.所以DB看起来像这样:
CHILD
ID, PARENT_ID
1 , 2
2 , 2
在给定OneToOne关系的情况下,JPA是否有办法检测到父2已被重新分配给子1并使子2的父级为空?
运行EclipseLink