Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA删除查询不工作_Java_Sql_Jpa_Entitymanager - Fatal编程技术网

Java JPA删除查询不工作

Java JPA删除查询不工作,java,sql,jpa,entitymanager,Java,Sql,Jpa,Entitymanager,我不明白为什么我的代码不起作用。谁能看一下吗。它不提供任何错误消息,但不会删除客户。其他方法运行良好(GetCustomerByd、getAllCustomers等) 谢谢 您需要执行查询以对数据库产生SQL问题;在这种情况下,您需要使用executeUpdate()并获取修改后的行数,以验证是否删除了某些内容 em.getTransaction().begin(); Query query = em.createQuery("Delete from Customer c where c.id

我不明白为什么我的代码不起作用。谁能看一下吗。它不提供任何错误消息,但不会删除客户。其他方法运行良好(GetCustomerByd、getAllCustomers等) 谢谢


您需要执行查询以对数据库产生SQL问题;在这种情况下,您需要使用executeUpdate()并获取修改后的行数,以验证是否删除了某些内容

em.getTransaction().begin();
Query query = em.createQuery("Delete  from Customer c where c.id = :id");
query.setParameter("id", id);
int rows = query.executeUpdate();
em.getTransaction().commit();

您正在创建一个查询,但没有执行它。 你应该加上

query.executeUpdate();

在提交之前

使用JPAAPI查找(Customer.class)来查找客户对象,然后使用romove(object)

您正在使用哪个DBMS?并非所有使用HSQLDB的DBMSI am都支持该删除语法。谢谢。如果实体有子实体也必须删除,那么这将是合适的,否则OP的单查询方法更好。
query.executeUpdate();