【发布时间】:2019-06-07 15:03:15
【问题描述】:
是否应该在模型中放置一个容器结构?
例如,
AModel {
List<BModel> listB;
}
就 OO 而言,这是有道理的。但是在使用模型和数据库时,我会遇到问题,因为 AModel 和 BModel 有自己的表吗?例如,当我从数据库中获取 AModel 时,我只是将 listB 留空,还是为了完全检索对象,我是否还获取了与 AModel 关联的所有 BModel 对象?但是,有时我可能只想获取 AModel 而不是引用 AModel 的 BModel 列表。现在, 我正在考虑从 AModel 中删除该列表。这将更好地反映 AModel 与 BModel 具有一对多关系的数据库模式。我觉得这将是一种更优雅的方法。你怎么看?
【问题讨论】:
-
你在使用 JPA 之类的 ORM 吗?如果是这样,它们支持链接实体的延迟加载(它看起来就像一个嵌套的集合字段)。
-
@Thilo 目前没有。我的设计并不过分复杂,我想我可以不用它来管理。在 ORM 之前他们是如何处理这个问题的?
标签: java model-view-controller design-patterns database-design design-principles