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

Java 如何在本机查询中使用sql函数,java,mysql,entity,nativequery,Java,Mysql,Entity,Nativequery,我想使用本机查询执行此查询 SELECT name FROM `question` ORDER BY RAND() LIMIT 20 但是当执行它时,我得到了一个错误 异常描述:分析查询时出现语法错误 [Question.findrandom:按兰德()从问题q顺序中选择q,第行 1,第38列:意外标记[(] 我还为表问题创建了实体,sql中的Order by命令只能由asc(Asending)或desc(Descending)Order使用 您的查询应该是 SELECT name FROM

我想使用本机查询执行此查询

SELECT name FROM `question`
ORDER BY RAND()
LIMIT 20
但是当执行它时,我得到了一个错误

异常描述:分析查询时出现语法错误 [Question.findrandom:按兰德()从问题q顺序中选择q,第行 1,第38列:意外标记[(]


我还为表问题创建了实体,sql中的Order by命令只能由asc(Asending)或desc(Descending)Order使用 您的查询应该是

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

使用
EntityManager
createNativeQuery
创建本机查询:

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

其中
em
是您的
EntityManager

您想要的输出是什么?