Я смотрю на использование проекций DTO - у меня есть две сущности с отношением «один ко многим» (экземпляр EntityOne связан с несколькими экземплярами EntityTwo), и я хочу вернуть результаты в виде нового объекта DTO -то, что я сейчас пытаюсь сделать, выглядит примерно так:
query.select(Projections.constructor(MyDtoObject.class,
entityOne, list(entityTwo)))
.from(entityOne, entityTwo)
.where(......)
Где MyDtoObject выглядит следующим образом:
public class MyDtoObject {
private EntityOne entityOne;
private Collection<EntityTwo> entityTwoCollection
// getters, setters and an all args constructor method here
}
Однако это возвращает намного больше MyDtoObjects, чем ожидалось, и выглядиткак каждый из них содержит только один объект entityTwo вместо коллекции.
Как я могу дать команду queryDSL создавать объекты результата MyDtoObjects с несколькими записями entityTwo?Делает ли метод list (..) что-нибудь в моем сценарии выше?