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
。
有人可以解释为什么我在 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
。