一旦我从数据库加载了一个域对象,我就拥有了它的一些相关对象的密钥。 例如,当我加载"组织"时,我知道相关"所有者"的 ID。
我希望 Owner 属性延迟加载,因为无法保证我会在请求或会话期间使用它。
因此,在我看来,组织对象可以:
- 具有所有者 ID 属性和所有者属性。 所有者属性将仅按需填充(使用 OwnerId 进行查找)。 在这种情况下,唯一的(小)挑战是保持两个属性同步;或
- 仅拥有所有者属性。 这最初将包含用于查找所有者的键(整数)。 如果调用了所有者,则该值将被所有者对象替换。 在这种情况下,(小)挑战是避免类型转换问题。
哪种方法最好? 为什么? 还是有其他方法? 我还缺少什么?
我正在使用PHP,带有域,映射器和服务层。 非常感谢您的想法!
我正在使用选项 1(见上文),效果很好。