有人可以解释为什么我在NamedNativeQuery中收到以下错误代码。我的语法看起来绝对正确。我正在使用MySQL。我已经尝试过将这个职位提供为1和同样的事情。
@NamedNativeQuery(name = "Category.findRandomByLimit",
query = "SELECT * FROM Category ORDER BY RAND() LIMIT ?")
我应该查看订单的Criteria API吗?我认为原生查询会起作用。我也尝试删除LIMIT和参数并使用setMaxResults但我仍然得到错误代码。
public List<Category> findRandom(int limit) {
return getEntityManager()
.createNativeQuery("Category.findRandomByLimit")
.setParameter(1, limit)
.getResultList();
}
答案 0 :(得分:3)
当您使用createNativeQuery
时,您正在致电createNamedQuery
。