delete查询出现错误

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

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

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

我得到以下错误:线程“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。

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

相关问题