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

JPA NamedNativeQuery is causing a SQL Exception error code 1064

有人可以解释为什么我在 NamedNativeQuery 中收到以下错误代码。我的语法看起来绝对正确。我正在使用 MySQL。我试过将位置设置为 ?1 和同样的东西。

@NamedNativeQuery(name = "Category.findRandomByLimit", 
        query = "SELECT * FROM Category ORDER BY RAND() LIMIT ?")

我应该查看订单的标准 API 吗?我认为本机查询会起作用。我也尝试删除 LIMIT 和参数并使用 setMaxResults 但我仍然收到错误代码。

public List<Category> findRandom(int limit) {
    return getEntityManager()
            .createNativeQuery("Category.findRandomByLimit")
            .setParameter(1, limit)
            .getResultList();
}

你在应该使用 createNamedQuery 的时候调用 createNativeQuery