I have such structure
| Director1 | Manager1 | Employee1 |
| Director1 | Manager1 | Employee2 |
| Director1 | Manager2 | Employee3 |
| Director2 | Manager3 | Employee4 |
I fetch this data from Db to Pojo like this
@Data
public class Workers {
private String directorName;
private String managerName;
private String employeeName;
}
DB is denormalized.
Mow in java code I need to group this response to not to return redundant data. My response data looks like
@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;
...
}
With grouping I want to receive List. For now I figured out how to group directors :
Map<WorkersResponse, List<Workers >> collect = all.stream()
.collect(Collectors.groupingBy(v -> {
WorkersResponse workersResponse= new WorkersResponse();
workersResponse.setDirector(v.getDirectorName());
return workersResponse;
}));
But how should then I populate list with Managers and Employees?