У меня такая структура
| Director1 | Manager1 | Employee1 |
| Director1 | Manager1 | Employee2 |
| Director1 | Manager2 | Employee3 |
| Director2 | Manager3 | Employee4 |
Я получаю эти данные из Db в Pojo вот так
@Data
public class Workers {
private String directorName;
private String managerName;
private String employeeName;
}
DB денормализован.
Косить java code Мне нужно сгруппировать этот ответ, чтобы не возвращать избыточные данные. Мои данные ответа выглядят как
@Data
public class WorkersResponse{
private String directorName;
...
private List<Manager> managers;
}
@Data
public class Manager{
private String manager;
...
private List<Employee> employee;
}
@Data
public class Employee{
private String employee;
...
}
С группировкой я хочу получить список. На данный момент я понял, как сгруппировать директоров:
Map<WorkersResponse, List<Workers >> collect = all.stream()
.collect(Collectors.groupingBy(v -> {
WorkersResponse workersResponse= new WorkersResponse();
workersResponse.setDirector(v.getDirectorName());
return workersResponse;
}));
Но как тогда мне заполнить список менеджерами и сотрудниками?