Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 不使用SQL从JPA中删除数据_Java_Jpa_Entitymanager - Fatal编程技术网

Java 不使用SQL从JPA中删除数据

Java 不使用SQL从JPA中删除数据,java,jpa,entitymanager,Java,Jpa,Entitymanager,我熟悉下面这种删除数据的方法(只是数据,而不是实体本身) 来自实体 entityManager.getTransaction().begin(); entityManager.createQuery("DELETE FROM " + className) .executeUpdate(); entityManager.getTransaction().commit(); 还有另一种方法,比如提供entityname,然后重新查看所有数据。代码中使用的不是

我熟悉下面这种删除数据的方法(只是数据,而不是实体本身) 来自实体

entityManager.getTransaction().begin();
entityManager.createQuery("DELETE FROM " + className)
                    .executeUpdate();
entityManager.getTransaction().commit();

还有另一种方法,比如提供entityname,然后重新查看所有数据。

代码中使用的不是SQL,而是JPQL,JPA查询语言


除了加载所有数据并逐个删除之外,没有其他方法可以一次删除所有数据。标准查询甚至不支持删除操作,因为它们还不支持删除操作。

Well。。在这种情况下,NativeSQLQuery和JPQL都解析为同一事物。您所做的是JPQL方式。下面是您可以编写的nativeSQLQuery

EntityManager em = ...;
Query query = em.createNativeQuery ("SELECT * FROM EMP", Employee.class);

什么是
而不是实体本身
?是否要将
null
设置为所有字段?