Have JPA/Hibernate to replicate the "ON DELETE SET NULL" functionality
Solution 1:
It doesn't appear to be possible at the moment with jpa/hibernate.
On delete set null in hibernate in @OneToMany
JBs solution seems clean though:
for (Department child : parent.getChildren()) {
child.setParentDepartment(null);
}
session.delete(parent);
You should also be able to put it in a PreRemove:
@PreRemove
private void preRemove() {
for (Student s : studentList) {
s.setTeacher(null);
}
}
Solution 2:
What about defining
@ForeignKey(name = "fk_student_teacher",
foreignKeyDefinition = " /*FOREIGN KEY in sql that sets ON DELETE SET NULL*/")
?