【发布时间】:2013-11-07 10:03:57
【问题描述】:
我有这段代码,但是当我运行它时出现错误,我也使用本机查询来执行此操作,但我徒劳
EntityManager entityManager = Persistence.createEntityManagerFactory("AdvancedJavaProjectPU").createEntityManager();
entityManager.getTransaction().begin();
Query query = entityManager.createQuery("Select e FROM Question e ORDER BY RAND()").setMaxResults(20);
List<Question> question =query.getResultList();
for(Question q:question){
System.out.println(q.getName());
}
我得到这个错误:-
异常说明:语法错误解析查询 [Select e FROM Question e ORDER BY RAND()],第 1 行,第 38 列:意外标记 [(]。
【问题讨论】:
-
SELECT id FROM table ORDER BY RAND() LIMIT 1
-
我已经尝试过了,但这不是问题的限制,问题是 rand() 函数。我想在查询中执行它
-
我猜你的问题是你在原生查询中使用了一个对象......它是如何将类 Question 映射到你的数据库中的?
标签: java entitymanager