Hibernateのドキュメントには次のように書かれています:
- バルクHQLクエリでは、暗黙的または明示的な結合を指定できません。サブクエリは、サブクエリ自体に結合が含まれる可能性があるwhere句で使用できます。
したがって、暗黙の結合を同等のサブクエリに置き換える必要があります。
getHibernateTemplate().bulkUpdate(
"update Address address set address.preferred = 1 " +
"where address.user in (select u from User u where u.language = ?)",
"en");