2015-02-05 40 views
0

我有以下查询:休眠为了不接受“>”

SELECT ga FROM Keyword ga ORDER by results>0 asc,lastSearch asc

这个查询运行,并把在@query属性的时候,当在MySQL工作台执行,但完美的作品crudrepository类它根本不编译。

当我从查询中删除'>'符号,只是按列值的顺序工作正常。

除了获得未排序的结果并将其排序在我的代码中的任何建议吗?

+0

什么应该是你的奥得的结果通过?在代码中订购不是个好主意。 – Jens 2015-02-05 14:13:41

回答

1

不完全知道什么应该ORDER BY results > 0平均值,如果是这样的条件,我们可以转换成这样:

SELECT ga 
FROM Keyword ga 
WHERE ga.results > 0 
ORDER BY ga.results asc, ga.lastSearch asc 

在情况下,我们需要转换为Boolean,我们可以做这样的:

SELECT ga 
FROM Keyword ga 
ORDER BY ga.results asc 
ORDER BY CASE WHEN ga.results > 0 THEN 0 ELSE 1 END asc 
, ga.lastSearch asc 

HQL根本放不下100%至底层的数据库引擎SQL语法