HQL getSingleResult с подзапросом

119
03 февраля 2021, 08:10

Пытаюсь написать запрос на hql, который вернет одну цифру методом getSingleResult(), все вполне сносно работало до тех пор, пока не появилась нужда в запросе отнять одно значение от другого и получить цифру. В нативном sql это делается просто:

select sum(a.values) - (select sum(values2) from b) from a;

попытылся написать то же самое на hql, вот что получилось:

 select sum(arrItem.itemsCount) - (select sum(itemsCount) from InvBookMuseum) 
        from InvActAcceptanceItemsMusInvAdapter  as t  INNER JOIN  t.actId as act   INNER JOIN t.arrItemId as arrItem

Но запрос не отрабатывает и выдает вот такую ошибку:

[PARSER] <AST>:0:0: unexpected AST node: query
[PARSER] right-hand operand of a binary query operator was null

Если же я заменяю подзапрос на простое число

select sum(arrItem.itemsCount) - 55

то все отрабатывает как надо. есть возможности отнять одно число от другого на java, но для этого придется вносить нежелательные изменения в проект...

можно ли как-то обойтись без этих изменений?

спасибо!

READ ALSO
Тестирование на java selenium

Тестирование на java selenium

Задача: залогиниться на сайт https://accountsgoogle

140
Что, если опускать аргументы (типы) для методов-дженериков?

Что, если опускать аргументы (типы) для методов-дженериков?

Я знаю, что если не указывать аргументы (вообще без угловых скобок) для классов-дженериков, то аргументами будет считаться тип Objcect, и что так...

125
TreeSet метод first() java

TreeSet метод first() java

Подскажите как можно реализовать метод который должен возвращать самый малый элемент

97
Как по странице в браузере найти определенную форму в коде?

Как по странице в браузере найти определенную форму в коде?

Есть очень большой веб проект, как мне найти, например, эту форму в коде? Пользуюсь intellij ideaНа форму нужно добавить одно поле, но искать ее вручную...

94