有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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


共 (2) 个答案

  1. # 1 楼答案

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

    除了加载所有数据并逐个删除之外,没有其他方法可以一次删除所有数据。由于条件查询尚不支持删除操作,因此它甚至不可能用于条件查询

  2. # 2 楼答案

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

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