class Parent {
@Id
Long id;
}
.
class Child {
@Id
Long id;
@OneToOne
Parent parent;
}
W takim przypadku, gdy zechcę usunąć Parent
JPA się oburzy, że ConstraintViolationException
, bo usuwam encję, bez usunięcia do niej referencji z innej encji. Powinienem najpierw usunąć refencję do Parent
z Child
.
Wyszukałem rozwiązania dla biderectional associantions albo dla @manyToOne
ale nie znalazłem nic dla @OneToOne
undirectional. Czy muszę zrobić z tego biderectional jeśli nie chcę kaszany?
EDIT:
próbowałem tak i też nie działa:
class Parent {
@Id
Long id;
@OneToOne(cascade=CascadeType.REMOVE, mappedBy = "parent")
@OnDelete(action = OnDeleteAction.CASCADE)
Child child;
}
.
class Child {
@Id
Long id;
@OneToOne
Parent parent;
}