De Hibernate-documentatie zegt:
lt.trade.volume
is een impliciete inner join tussen LocationTrade en Trade, dus de zoekopdracht is ongeldig. Je moet het herschrijven naar iets als het volgende:
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)
Of je moet in plaats daarvan een SQL-query gebruiken.