我熟悉以下从实体中删除数据(只是数据,而不是实体本身)的方法
entityManager.getTransaction().begin();
entityManager.createQuery("DELETE FROM " + className)
.executeUpdate();
entityManager.getTransaction().commit();
还有另一种方法可以做到这一点,例如提供实体名称,然后删除所有数据。
我熟悉以下从实体中删除数据(只是数据,而不是实体本身)的方法
entityManager.getTransaction().begin();
entityManager.createQuery("DELETE FROM " + className)
.executeUpdate();
entityManager.getTransaction().commit();
还有另一种方法可以做到这一点,例如提供实体名称,然后删除所有数据。
您在代码中使用的不是 SQL,而是 JPQL,JPA 查询语言。
除了加载所有数据并一一删除之外,没有其他方法可以一次删除所有数据。标准查询甚至不可能,因为它们还不支持删除操作。
好吧..在这种情况下,NativeSQLQuery 和 JPQL 都解析为同一件事。你所做的是JPQL方式。下面你可以写一个 nativeSQLQuery
EntityManager em = ...;
Query query = em.createNativeQuery ("SELECT * FROM EMP", Employee.class);