Java org.hibernate.QueryException:并非所有参数都已设置

Java org.hibernate.QueryException:并非所有参数都已设置,java,hibernate,Java,Hibernate,我有以下异常错误: Caused by: org.hibernate.QueryException: Not all named parameters have been set: [c] [UPDATE EtudeCredit e SET e.avisfin=:c WHERE e.codeEc=:idEc] 我的密码是:: public EtudeCredit updateavisfin(Integer id, String avisfint) { Query d= ent

我有以下异常错误:

Caused by: org.hibernate.QueryException: Not all named parameters have been set: [c]  
[UPDATE  EtudeCredit e SET e.avisfin=:c WHERE e.codeEc=:idEc]
我的密码是::

public EtudeCredit updateavisfin(Integer id, String avisfint) {
      Query d= entityManager.createQuery("UPDATE  EtudeCredit e SET e.avisfin=:c WHERE                e.codeEc=:idEc");  
        d.setParameter("idEc",id).executeUpdate();
         d.setParameter("c",avisfint).executeUpdate();
        return (EtudeCredit) d.getSingleResult();}

有什么帮助吗?怎么了?

当两个参数都设置好时,应该调用
executeUpdate()
一次。现在你叫它两次

d.setParameter("idEc",id);
d.setParameter("c",avisfint);
d.executeUpdate(); 

您试图在设置两个参数之前更新两次。您必须首先设置参数,然后执行更新:

d.setParameter("idEc",id);
d.setParameter("c",avisfint);
d.executeUpdate();

Alos,update语句没有“持久化对象结果”,所以不能对其发出“getSingleResult”。如果要在更新后检索结果,必须创建另一个查询(SELECT语句)。

我已更改executeupdate,正如您所说,我现在已更改:不支持DML操作