我有以下异常错误:
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();}
有任何帮助吗?怎么了?
答案 0 :(得分:0)
当设置了两个参数时,您应该调用executeUpdate()
一次。现在你叫它两次。
d.setParameter("idEc",id);
d.setParameter("c",avisfint);
d.executeUpdate();
答案 1 :(得分:0)
在设置两个参数之前,您尝试更新两次。您必须先设置参数,然后执行更新:
d.setParameter("idEc",id);
d.setParameter("c",avisfint);
d.executeUpdate();
Alos,update语句没有“持久性对象结果”,因此你不能在其上发出“getSingleResult”。如果要在更新后检索结果,则必须创建另一个查询(SELECT语句)。