这是对上一个问题的跟进:Should sub-objects be fetched in the Model or the Model Mapper?
假设用户可以拥有一个或多个PhoneNumber对象。根据上述问题的答案,这些子对象将在用户实例化时获取。如果我要从用户的phoneNumbers
属性(一组PhoneNumbers)中删除PhoneNumber,或者修改其中一个PhoneNumber对象,那么这个更改应该在哪里传播?
我应该手动删除/更新数据库中的子对象,还是用户应该在保存时自动执行此操作?谢谢,
答案 0 :(得分:1)
让我们看看如果我以正确的方式得到它。
用户已登录,并且位于他的个人资料页面上。在此页面上,用户点击“删除此电话号码”链接。
在执行操作的页面上,它将执行DELETE FROM phones ETC
。
现在在你加载User之后执行此操作,构造函数将加载phonenumber等,并且考虑到你早期执行DELETE sql,当前用户对象当然不会有刚刚删除的phonenumber。
这至少是我的MVC框架中发生的事情。