Java Hibernate HQL 无法指定目标 table
Java Hibernate HQL can't specify target table
我正在阅读来自用户@JB Nizet
的Post
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
的解决方案。
当您只访问同一个 table 时,您可以将您的限制组合在一起:
update Student set newField = :newField where ... and school = :school
我正在阅读来自用户@JB Nizet
的PostHibernate 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
的解决方案。
当您只访问同一个 table 时,您可以将您的限制组合在一起:
update Student set newField = :newField where ... and school = :school