已删除的集合仍然存在

时间:2014-09-20 00:41:59

标签: apache-cayenne

我试图删除一组对象,但不知怎的,它们仍然存在。

List<Assignment> assignments = shift.getAssignments();
shift.getObjectContext().deleteObjects(assignments);
shift.getObjectContext().commitChanges();

执行commitChanges后,集合中唯一的赋值具有以下值:

[{<ObjectId:Assignment, assignment_id=26067>; committed; // snipped for clarity

我认为在deleteObject()之后,状态将为DELETED;并且在commitChanges()之后,它不应该保留在集合中。根据这个:http://cayenne.apache.org/docs/3.0/persistent-object-lifecycle.html

我错过了什么?

编辑:更改代码以删除不同的数据对象,然后将更改传播到分配。

1 个答案:

答案 0 :(得分:1)

如果您希望在删除时从集合中删除对象,则可以执行以下两项操作之一:

  • 通过迭代收集副本并调用&#34; removeFromAssignments()&#34;
  • 手动删除它们
  • 为作业定义NULLIFY删除规则 - &gt;转移关系