delete查询出现错误

t30tvxxf  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(342)

当我试图用jpa中的delete查询删除某些内容时,出现了一些错误。
下面是在主包中调用的remove函数。

public void removeAppoinmentsFromDB(int idToDelete) {
    entityManager.getTransaction().begin();
    Query query = entityManager.createQuery("DELETE FROM Programari WHERE idProgramari = :idToDelete");
    query.executeUpdate();
    entityManager.getTransaction().commit();        
}

我得到以下错误:线程“main”java.lang.illegalstateexception中出现异常:在查询执行期间提供的参数列表中找不到查询参数idtodelete。
在org.eclipse.persistence.internal.jpa.queryimpl.processparameters(queryimpl。java:579)
在org.eclipse.persistence.internal.jpa.queryimpl.executeupdate(queryimpl。java:294)
在util.databaseutil.removeAppoincesFromDB(databaseutil。java:85)
在main.main.main(main。java:82)

oknwwptz

oknwwptz1#

您需要在查询中设置要删除的id。

public void removeAppoinmentsFromDB(int idToDelete) {
    entityManager.getTransaction().begin();
    Query query = entityManager.createQuery("DELETE FROM Programari WHERE idProgramari = :idToDelete");
    query.setParameter("idToDelete", idToDelete);
    query.executeUpdate();
    entityManager.getTransaction().commit();        
}

相关问题