La documentation Hibernate dit :
lt.trade.volume
est une jointure interne implicite entre LocationTrade et Trade, la requête n'est donc pas valide. Vous devrez le réécrire en quelque chose comme ceci :
update LocationTrade lt set lt.hasVeryHighVolume=true where lt.locationIndices=?
and lt.id in (
select lt2.id from LocationTrade lt2 where lt2.trade.volume > 20000)
Ou vous devrez utiliser une requête SQL à la place.