Dokumentace k hibernaci říká:
- V hromadném dotazu HQL nelze zadat žádná spojení, implicitní ani explicitní. Dílčí dotazy lze použít v klauzuli where, kde samotné poddotazy mohou obsahovat spojení.
Takže musíte nahradit implicitní spojení ekvivalentním poddotazem:
getHibernateTemplate().bulkUpdate(
"update Address address set address.preferred = 1 " +
"where address.user in (select u from User u where u.language = ?)",
"en");