Java Hibernate HQL无法指定目标表

时间:2015-02-23 23:32:51

标签: java mysql hibernate hql named-query

我正在阅读用户@JB Nizet的帖子

Hibernate Exception on MySQL Cross Join Query

后来我尝试了自己的代码

我有这样的HQL。

update Student set newField='newField',anotherFieldsToBeUpdated where .... 
and id in
(select s.id from Student s where s.school=:school)
-->[Student->School]many to one relationship....

但仍然引发臭名昭着的

Caused by: java.sql.SQLException: You can't specify target table 'Student' for update in FROM clause

我想知道是否仍然存在没有using another different select或使用a temporal table的解决方案..

任何帮助都非常感谢委内瑞拉的最佳问候......

1 个答案:

答案 0 :(得分:1)

当您只访问同一个表时,您可以将限制组合在一起:

update Student set newField = :newField where ... and school = :school