Java TypedQuery错误“;并非所有命名参数都已设置";当他们有。JPA/Hibernate

Java TypedQuery错误“;并非所有命名参数都已设置";当他们有。JPA/Hibernate,java,hibernate,jpa,jpql,Java,Hibernate,Jpa,Jpql,我正在尝试构建并执行一个动态查询,如下所示: String query=“从员工e中选择e,其中(1=1)和(上限(e.lastName)如:lastName)”; 最终类型DQuery dbQuery=entityManager.createQuery(查询,Employee.class); dbQuery.setParameter(“lastName”,“%”+value.toString().toUpperCase()+“%”); 但它失败了,出现了以下错误: org.hibernate

我正在尝试构建并执行一个动态查询,如下所示:

String query=“从员工e中选择e,其中(1=1)和(上限(e.lastName)如:lastName)”;
最终类型DQuery dbQuery=entityManager.createQuery(查询,Employee.class);
dbQuery.setParameter(“lastName”,“%”+value.toString().toUpperCase()+“%”);
但它失败了,出现了以下错误:

org.hibernate.QueryException: Not all named parameters have been set: [lastName]
最有趣的是,在debug mod中,我可以看到dbQuery有一个“lastName”参数的绑定,并在其“parameterRegistrations”字段中包含指定的值。所以我不知道

或者使用位置参数,如
dbQuery.setParameter(1,“%”+value.toString().toUpperCase()+“%”)不是我的情况,所以请不要讨论它


这与我的相似,但仍然没有答案。

对不起,伙计们!这是我的疏忽。那里有一个非常奇怪的遗留代码,它在很久以后基于我的查询创建了一个TypedQuery的新实例,但没有参数。我没想到。这就是原因。

您使用的是哪个Hibernate版本?是否确定实际查询的参数名中没有输入错误(大写/小写)?能否确认在调用指令dbQuery.getResultList()时引发异常?