Dokumentasi hibernasi mengatakan:
- Tidak ada gabungan, baik implisit maupun eksplisit, yang dapat ditentukan dalam kueri HQL massal. Sub-kueri dapat digunakan dalam klausa where, di mana subkueri itu sendiri mungkin berisi gabungan.
Jadi, Anda perlu mengganti gabungan implisit dengan subquery yang setara:
getHibernateTemplate().bulkUpdate(
"update Address address set address.preferred = 1 " +
"where address.user in (select u from User u where u.language = ?)",
"en");