如果我理解正確,那麼在域驅動設計中,僅存在聚合根對象的存儲庫。那麼,對於那些作爲根子對象的對象來說,實現分頁(或訪問控制過濾)的正確方法是什麼?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