我正在阅读用户@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
的解决方案..
任何帮助都非常感谢委内瑞拉的最佳问候......
答案 0 :(得分:1)
当您只访问同一个表时,您可以将限制组合在一起:
update Student set newField = :newField where ... and school = :school