【发布时间】:2013-11-21 13:55:15
【问题描述】:
我真的需要你的帮助
我需要不时删除一个表的所有内容,我使用的是 Java + JPA (EclipseLink) + MySQL
我正在使用下面的代码,但没有成功,我对 JPA 一无所知
public void deleteTableFupfile(){
EntityManager em = getEntityManager();
CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery<fupfile> query = qb.createQuery(fupfile.class);
Root<fupfile> fupfile = query.from(fupfile.class);
Query q2 = em.createQuery("DELETE FROM fupfile");
q2.executeUpdate();
}
例外:
原因:异常 [EclipseLink-8029] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.JPQLException 异常描述:编译查询 [DELETE FROM fupfile] 时出错,第 1 行,第 26 列:导航表达式 [fupfile.id] 无效,无法在查询中导航 [java.lang.Class] 类型的表达式 [fupfile]。 在 org.eclipse.persistence.exceptions.JPQLException.invalidNavigation(JPQLException.java:413)
【问题讨论】:
-
有没有抛出异常?
-
此代码不会编译,因为大小写在 java 中很重要。
Fupfile和fupfile是不同的名称。 -
您好 nailgun,对不起,代码中的拼写错误是正确的,但仍然无法正常工作,发布在抛出的异常上方。谢谢
-
我相信问题出在“DELETE FROM fupfile”这一行,但还没有弄清楚如何解决它
-
Andrei 我发布了上述异常感谢您的帮助
标签: java mysql jpa jpa-2.0 eclipselink