Jpa 其中b.maxOrdini>maxordine抛出“FROM子句中未定义标识变量'maxordine'”
我尝试在Java EE应用程序中编写此查询:Jpa 其中b.maxOrdini>maxordine抛出“FROM子句中未定义标识变量'maxordine'”,jpa,jpql,Jpa,Jpql,我尝试在Java EE应用程序中编写此查询: public List<Fornitore> findByMaxOrdine(int maxordine) { Query query; query = em.createQuery("SELECT b FROM Fornitore b WHERE b.maxOrdini > maxordine"); query.setParameter("maxordine", maxordine); retur
public List<Fornitore> findByMaxOrdine(int maxordine)
{
Query query;
query = em.createQuery("SELECT b FROM Fornitore b WHERE b.maxOrdini > maxordine");
query.setParameter("maxordine", maxordine);
return query.getResultList();
}
我不明白它为什么不起作用。
谢谢您的帮助。因为maxordine是一个命名参数,所以您的查询应该是:
"SELECT b FROM Fornitore b WHERE b.maxOrdini > :maxordine"
如果愿意,也可以使用位置参数,而不是命名参数。然后,重新计算的方法如下所示:
public List<Fornitore> findByMaxOrdine(int maxordine) {
return em.createQuery("SELECT b FROM Fornitore b WHERE b.maxOrdini > ?1")
.setParameter(1, maxordine);
.getResultList();
}
您是否尝试从Fornitore b中选择b,其中b.maxOrdini>:maxordine?
public List<Fornitore> findByMaxOrdine(int maxordine) {
return em.createQuery("SELECT b FROM Fornitore b WHERE b.maxOrdini > ?1")
.setParameter(1, maxordine);
.getResultList();
}