2009-11-19 87 views
0

我除了彈簧(3.0.0.M4)之外還使用JPA。在使用query.executeUpdate()刪除多個記錄時,我收到以下異常。查詢必須以SELECT或FROM開頭:delete [刪除

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: query must begin with SELECT or FROM: delete [delete obj com.ocimum.btree.mw.core.objecttypes.profile.entity.ProfileEntity obj] 
     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:648) 
     org.springframework.web.servlet.FrameworkServlet.doDelete(FrameworkServlet.java:578) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:716) 
     javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 

我正在使用spring Transactional management。

它與entityManager.remove()一起工作,但多重刪除正在給出上述執行。 我沒有在應用程序中使用任何查詢工廠。

回答

0

這與Spring無關。您的查詢語法不正確,並且異常消息告訴您。

0

DELETE [FROM] com.ocimum.btree.mw.core.objecttypes.profile.entity.ProfileEntity obj WHERE ...

Check here

2

如果問題仍然存在,可以矯正你查詢的語法後,驗證你的Hibernate配置: 設置屬性hibernate.query.factory_classorg.hibernate.hql.ast.ASTQueryTranslatorFactory在我的情況下工作。

欲瞭解更多信息,我參考Hibernate forum post我找到了這個解決方案。

相關問題