Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate在查询中放置*时出错_Java_Mysql_Sql_Hibernate - Fatal编程技术网

Java Hibernate在查询中放置*时出错

Java Hibernate在查询中放置*时出错,java,mysql,sql,hibernate,Java,Mysql,Sql,Hibernate,我有一个疑问 SELECT description, SUM( CASE WHEN entryType = 1 THEN amount ELSE amount * -1 END ) totals FROM AccountDetails GROUP BY account_id; 我在MySQL终端上得到了上述查询的结果。 但当我尝试在Hibernatequery中执行相同的操作时,会出现以下情况: Query query = sessionFactory.getCurrentSession()

我有一个疑问

SELECT description, SUM( CASE WHEN entryType =  1 THEN amount ELSE amount * -1 END ) totals
FROM AccountDetails
GROUP BY account_id;
我在
MySQL
终端上得到了上述查询的结果。 但当我尝试在
Hibernate
query中执行相同的操作时,会出现以下情况:

Query query = sessionFactory.getCurrentSession().createQuery("SELECT description, SUM( CASE WHEN entryType =  1 THEN amount ELSE amount * -1 END ) totals FROM AcountDetails GROUP BY account_id;");
return query.list();
我犯了以下错误

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是org.hibernate.hql.internal.ast.QuerySyntaxException:应为“结束”,在第1行第75列附近找到“*”[按帐户id从帐户详细信息组中选择描述、总和(entryType=1时为事例,然后是amount ELSE amount*-1 end)总计]


有关如何解决此问题的任何建议?

请使用
sql查询
,而不是
hql查询
。同时删除
从查询的末尾开始

应该是:

Query query = sessionFactory.getCurrentSession().createSQLQuery("SELECT description, SUM( CASE WHEN entryType =  1 THEN amount ELSE amount * -1 END ) totals FROM AcountDetails GROUP BY account_id");
return query.list();

使用
sql查询
,而不是
hql查询
。同时删除
从查询的末尾开始

应该是:

Query query = sessionFactory.getCurrentSession().createSQLQuery("SELECT description, SUM( CASE WHEN entryType =  1 THEN amount ELSE amount * -1 END ) totals FROM AcountDetails GROUP BY account_id");
return query.list();

使用
sql查询
,而不是
hql查询
。同时删除
从查询的末尾开始

应该是:

Query query = sessionFactory.getCurrentSession().createSQLQuery("SELECT description, SUM( CASE WHEN entryType =  1 THEN amount ELSE amount * -1 END ) totals FROM AcountDetails GROUP BY account_id");
return query.list();

使用
sql查询
,而不是
hql查询
。同时删除
从查询的末尾开始

应该是:

Query query = sessionFactory.getCurrentSession().createSQLQuery("SELECT description, SUM( CASE WHEN entryType =  1 THEN amount ELSE amount * -1 END ) totals FROM AcountDetails GROUP BY account_id");
return query.list();

实际上你不需要乘法,只要用
-amount
代替
amount*-1

实际上你不需要乘法,只要用
-amount
代替
amount*-1

实际上你不需要乘法,只需使用
-amount
而不是
amount*-1
实际上您不需要乘法,只需使用
-amount
而不是
amount*-1