I'm struggling with a DDD concept in designing aggregate roots. I have a Client, which has multiple Projects, Projects have multiple Project assignments, which has multiple Employees. It seems natural to have a ClientRepository, which would manage Project, and not expose a ProjectRepository. After all a Project has to belong to a client. But.... business comes a long and they want a page that has all projects displayed, regardless of client. Basically a dump of the Project table. There is no way to get all Projects from ClientRepository or the ClientDomain object itself, so do you just expose a ProjectRepository in that case?
Just for background my technology stack is Java, Spring, Spring-Data-JPA, Hibernate, although DDD is technology agnostic.