如果我理解正确,那么在域驱动设计中,仅存在聚合根对象的存储库。那么,对于那些作为根子对象的对象来说,实现分页(或访问控制过滤)的正确方法是什么?DDD:查询聚合根目标的子对象
例子:
@Entity
public class Person extends AbstractPersistable<Long> {
@OneToMany
private List<Competence> competences = new ArrayList<>();
public void addCompetence(Competence competence) {
this.competences.add(competence);
}
public List<Competences> competences() {
return this.competences;
}
}
所以,如果我第一次从储备库中获得人对象,然后我想送能力的子集(页),以我的前端?创建CompetenceRepository来查找人员的权限是没有意义的,因为它能够打破聚合根的整个想法......现在我已经使用了Spring Data JPA。
您从不查询聚合根子项,因为:1)从概念上说,AR从来没有子项,2)聚合代表**一个完整的概念**,它是全部或全部概念,您无法选择哪个实现你想要的细节。 – MikeSW