关于java:删除特定类型的所有实体

Deleting all Entities of a certain type

我正在尝试从GAE应用程序中的数据存储中删除某个类型的所有实体。我有以下几行:

1
em.createQuery("DELETE m FROM"+UpdateMessage.class.getSimpleName()+" m").executeUpdate();

我看到以下例外情况:

1
 Unable to update most recent message in datatstore: Candidate class could not be found: DELETE

我假设我没有正确地执行别名操作,因为它将删除操作误认为是实际的类。我只是试着不带化名做DELETE FROM MyClassType,但似乎没用。

有什么想法吗?


如果要删除所有实体,则不需要此处解释的变量[1]。

另外,您正在使用getSimpleName()方法,我对JPA知之甚少,但我看到的所有代码片段都使用getName()方法。请参见此处的差异[2]。因此,查询将是:

1
em.createQuery("DELETE FROM" + UpdateMessage.class.getName()).executeUpdate();

[1]http://www.objectdb.com/java/jpa/query/jpql/delete/删除

(2)Java类中规范名称、简单名称和类名的区别是什么?