JPA NamedNativeQuery导致SQL异常错误代码1064

时间:2016-10-15 14:39:19

标签: mysql jpa criteria

有人可以解释为什么我在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();
}

1 个答案:

答案 0 :(得分:3)

当您使用createNativeQuery时,您正在致电createNamedQuery