【发布时间】:2011-03-10 18:44:53
【问题描述】:
我的域类中有一些 OneToMany 子集合,它们可能会随着时间的推移而增长,以容纳数百或(很可能)数千个实例。然而,很多时候父母真正需要的只是“第一个”孩子或“最后一个”孩子或“最大”的孩子。让父实例遍历从数据库加载的大量对象集合似乎效率低下。
另一方面,我不想因为持久性问题而污染我的域模型,并开始不得不在域类中使用我的 DAO 来执行查询。
我可能会将这些查找放在我的服务方法中,但我更喜欢将此登录名放在我所属的域中——试图避免“贫血域”反模式。
有没有办法在不直接调用 DAO 的情况下从大型集合中提取“特定”对象?我忽略了一些 JPA ORM 映射功能?
编辑: 应用程序是分层设计的,域模型层位于底部——它不依赖于其他任何东西。旁边是实现 DAO 并依赖于领域层的持久层。在它们之上是一个服务层,我试图通过将业务逻辑下推到领域层来保持它尽可能薄。
【问题讨论】:
标签: java jpa service mapping dns