Я создал JPQL следующим образом: выберите поле sum (c.field1) field1, sum (c.field2) field2, sum (c.field3) field3 из класса c
Теперь есть три проблемы:1) я нигде не нашел, смогу ли я использовать синтаксическую сумму (c.field1) field1;2) я нигде не нашел, если в агрегированном запросе может быть много полей;3) когда я пытаюсь выполнить этот запрос, компилятор возвращает вектор!Странно то, что я не могу определить тип полей, которые будут возвращаться, потому что они разные (Long, Double и BigInteger), и если я попытаюсь вернуть значения запроса, он возвращает: [[Ljava.lang.Object; @f7b046]
это код:
public Vector sumFilteredString(Class2 c2) {
String query="select sum(c1.field1) field1, sum(c1.field2) field2, sum(c1.field3) field3, sum(c1.field4) field4, sum(c1.field5) field5 from Class1 c1 WHERE c1.idClass2=c2.id";
Query q = getEntityManager().createQuery(query);
return (Vector)q.getResultList();
}
Я пытаюсь использовать Vector, потому что для меня не важно, получаю ли я эти значения, используя HashMap.get («имя поля») или Vector.get (position), поэтому, если ваше решение состоит в том, чтобы получить Vector для меня, это то же самое.