Я пытаюсь сделать простую арифметическую операцию между двумя столбцами.org.hibernate.QueryException с арифметическим оператором в Where where
мой запрос HQL является: SELECT a.ht+a.tva FROM com.test.entity.TestTable a
Я использую Hibernate 3.6.10-Final
, и у меня есть эта ошибка:
org.hibernate.QueryException: , expected in SELECT [SELECT a.ht+a.tva FROM com.test.entity.TestTable a]
org.hibernate.hql.classic.SelectParser.token(SelectParser.java:203)
org.hibernate.hql.classic.ClauseParser.token(ClauseParser.java:109)
org.hibernate.hql.classic.ClauseParser.end(ClauseParser.java:136)
org.hibernate.hql.classic.PreprocessingParser.end(PreprocessingParser.java:145)
org.hibernate.hql.classic.ParserHelper.parse(ParserHelper.java:52)
org.hibernate.hql.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:240)
org.hibernate.hql.classic.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:209)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)
org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)
org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)
org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)
org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1770)
Но в JBoss док главе 16.7, он говорит:
you can use arithmetic operators, concatenation, and recognized SQL functions in the select clause:
select cat.weight + sum(kitten.weight) from Cat cat join cat.kittens kitten group by cat.id, cat.weight
Я пробовал с cast(... as Long)
, но не работал.
У кого-нибудь есть решение или рекомендация?
Спасибо большое, Yann Terzibachian
ссылки неправильно: арифметический оператор является поддерживается с помощью агрегатных функций: глава 16.7 http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/queryhql.html#queryhql-aggregation Пробовал ли вы SELECT a.ht + a.tva FROM com.test.entity.TestTable - группа a.id' (a ssuming id - ваш pk) – ben75
Такая же ошибка с группой на моем pk – yannterzi