4
我不是hibernate的專家,正如主題中所述,我有一個Object,其中包含一個對象集合。 我試圖用hibernate不會刪除帶有命名查詢的子項,但會刪除session.delete()
session.delete(myObject)
,並與所有相關兒童被從數據庫中刪除正確的實體。
然而,當我運行一個簡單的命名查詢:
<query name="deleteByID">
DELETE FROM MyObject o WHERE o.objId IN (:objIds)
</query>
然後在代碼
Query deleteQuery = s.getNamedQuery("deleteByID");
deleteQuery.setParameterList("objIds", objIds);
return deleteQuery.executeUpdate();
,但只有主實體被刪除,而孩子們留在數據庫中。 集合正確標記爲刪除孤立。我想知道爲什麼會出現這種行爲,以及是否有可能通過命名查詢來實現徹底刪除。