Я хочу сопоставить двухуровневую сущность с двухуровневым настраиваемым классом.На одном уровне синтаксис конструктора jpa делает свою работу, но когда дело доходит до двух уровней, я не могу найти элегантного решения.Я могу только присоединиться, получить таблицы и сделать сопоставление в Java из сущности.Вот пример запроса того, что я думал, что это было бы хорошо, но, очевидно, не работает.
Скажем, у меня есть такая структура классов:
class SomeClass {
Long id;
// ... other properties
List<AnotherClass> nestedlist;
Long nestedListSum
}
class AnotherClass {
Long id;
// .... other properties
Long someProperty;
}
И я хочу написать такой запрос:
select new com.example.SomeClass( e.id, ..., someAggregateFunction*(new com.example.AnotherClass( o.id, ..., o.someProperty), sum(o.someProperty))
from SomeEntity e join e.anotherEntity o
group by e.id
* функция someAggregateFunction является воображаемой совокупностьюкоторый объединяет все строки в списке
Есть ли способ написать запрос как этот?Если нет, каковы альтернативы?