外部キーの 1 つを介して結合テーブル内の行をカスケード削除しようとしていますが、それに関連する別のテーブルがあり、この ID に関連付けられているすべての行も削除したいと考えています。というわけで下図のようになります。休止状態で Session.delete(reqCandObject) を使用すると、正常に動作し、candidate_jobReq テーブルから One エントリと関連するコメントを削除することでカスケードします。ただし、特定の候補IDを持つすべてのcandidate_jobReqエントリを削除したい(そしてコメントも削除したい)以下の関数を試しましたが、素敵なhibernate.delete(object)関数とは異なり、これは外部キー制約エラーに遭遇します. 休止状態で削除をカスケードさせながら、これらの行を削除するにはどうすればよいですか?
public void deleteWhere(String selectionCase){
Session hibernateSession = this.getSession();
try {
hibernateSession.beginTransaction();
Query q = hibernateSession.createQuery("delete "+ type.getSimpleName() +" where " + selectionCase);
q.executeUpdate();
hibernateSession.getTransaction().commit();
} finally {
hibernateSession.close();
}
}