sql >> Database teknologi >  >> RDS >> Mysql

HQL genererer ufuldstændig 'cross join' på executeUpdate

Dvale-dokumentationen siger:

lt.trade.volume er en implicit indre forbindelse mellem LocationTrade og Trade, så forespørgslen er ugyldig. Du bliver nødt til at omskrive den til noget i stil med følgende:

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)

Eller du bliver nødt til at bruge en SQL-forespørgsel i stedet for.




  1. Hvordan betragter NULL som MAX-datoen i stedet for at ignorere den i MySQL?

  2. Hvorfor lære Cassandra med Hadoop?

  3. Hvordan skriver man en mysql-funktion med dynamisk tabelnavn?

  4. Vil ANSI JOIN vs. ikke-ANSI JOIN-forespørgsler fungere anderledes?