Если я правильно понял, в дизайне, управляемом доменом, есть репозитории только для совокупных корневых объектов. Итак, как правильно реализовать, например, подкачку (или фильтрацию управления доступом) для тех объектов, которые являются дочерними объектами корней.
Пример:
@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.