2015-07-13 101 views

回答

2

ChangeAwareListChangeAwareMap确保父代RepositoryItem在更新父项时已添加或删除关系,以确保新关系从数据库中插入/删除。

如果ChangeAwareListChangeAwareMap没有被使用,那么当父项被更新/存储到存储库/数据库时,那么你将不得不有一些逻辑循环每个现有的关系,并将它们与更新确定哪些关系需要从数据库中删除。这比较麻烦,而且执行效果不如“变化意识”。

这是观察者设计模式的一个例子。

+0

感谢您的回复,所以只需确认ChangeAwareSet,ChangeAwareMap只是为了跟踪更改。我已经看到一些例子,我们使用ChangeAware集合从存储库中读取数据,所以只是想知道为什么它应该用于阅读。另外在某些情况下,我们在尝试更改为普通设置和Map时遇到了类转换异常。 – Hari