Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

HQL está gerando 'cross join' incompleto em executeUpdate


A documentação do Hibernate diz:

lt.trade.volume é uma junção interna implícita entre LocationTrade e Trade, portanto, a consulta é inválida. Você terá que reescrevê-lo para algo como o seguinte:
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 você terá que usar uma consulta SQL.