如何在本机查询中使用sql函数

时间:2013-11-07 09:01:36

标签: java mysql entity nativequery

我想使用本机查询

执行此查询
SELECT name FROM `question`
ORDER BY RAND()
LIMIT 20

但在执行时我遇到了错误

  

异常说明:解析查询时出现语法错误   [Question.findrandom:SELECT q FROM Question q ORDER BY RAND()],line   1,第38栏:意外的令牌[(]。

我也为表格问题创建了实体

2 个答案:

答案 0 :(得分:0)

在sql中按命令排序只能由asc(Asending)或desc(Descending)命令使用 您的查询应该像

 SELECT name FROM `question`
     ORDER BY asc/desc
           LIMIT 20

答案 1 :(得分:0)

使用createNativeQuery EntityManager创建原生查询:

Query query = em.createNativeQuery("SELECT name FROM question ORDER BY RAND() LIMIT 20");

其中em是您的EntityManager