2
對不起,如果這是顯而易見的,但我們現在已經好幾天了。在使用級聯刪除時,如何處理Hibernate中的可選關係?
考慮三個實體,父母,子女和X:
家長有@OneToMany與兒童的關係,成立了以級聯刪除和孤兒去除=真。
子級與可選= false的Parent有@ManyToOne關係,進一步的關係是@NotNull,@JoinColumn有nullable = false。
X與@ManyToOne的關係可選爲true。
以下是我們理想情況下在刪除父項時發生的情況。我們希望刪除級聯並刪除與刪除的父對應的所有子行。到目前爲止沒有問題。但是我們也希望任何引用任何被刪除的孩子的X來消除孩子關係。我們不想刪除任何X,我們只是想清除關係。這與「可選」關係是一致的。
我們如何在Hibernate中做到這一點?理想情況下,我們希望它是聲明式的,所以我們的業務邏輯不必「記住」將這些關係排除在外。實際上,如果我們要使用級聯,那麼它確實必須是聲明式的,因爲在我們遇到可選關係之前可能會有多級級聯。
任何提示?我們被難倒了....