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();
,但只有主实体被删除,而孩子们留在数据库中。 集合正确标记为删除孤立。我想知道为什么会出现这种行为,以及是否有可能通过命名查询来实现彻底删除。