JPA Constructor Expression со всей сущностью в параметре - PullRequest
2 голосов
/ 15 апреля 2019

Я пытаюсь сохранить результат запроса в пользовательском Pojo, используя JPA Constructor Expression

Это прекрасно работает:

@ Query ("выберите новый com.my.package.FinalDTO (c.id, SUM (p.revenue) в качестве выручки) ОТ компании c СЛЕДУЮЩЕЕ СОЕДИНЕНИЕ c.products p GROUP BY s ")

Однако в действительности мне потребуется около 25 полей от компании, так что

Я пытался сделать это вместо того, чтобы перечислять столько полей:

@ Query ("выберите новый com.my.package.FinalDTO (c, SUM (p.revenue) в качестве дохода)ИЗ КОМПАНИИ c ЛЕВОЕ СОЕДИНЕНИЕ c.products p GROUP BY c ")

Но я получаю сообщение о том, что hibernate пытается сохранить c.id (который является строкой) в Long?

Запрос, который я вижу в журналах, похоже, выбирает не всю сущность компании, а только поле идентификатора:

select company0_.id as col_0_0_, sum(products1_.revenue) as col_1_0_ from...

Можно ли сохранить всю сущность, используя выражение конструктора?

...