sql >> Database teknologi >  >> RDS >> Oracle

Hvorfor denne dvale-skabelon bulkUpdate ikke virker

Dvale-dokumentationen siger:

  • Ingen joinforbindelser, hverken implicitte eller eksplicitte, kan angives i en masse-HQL-forespørgsel. Underforespørgsler kan bruges i where-klausulen, hvor selve underforespørgslerne kan indeholde joins.

Så du skal erstatte implicit join med den tilsvarende underforespørgsel:

getHibernateTemplate().bulkUpdate(
   "update Address address set address.preferred = 1 " +
   "where address.user in (select u from User u where u.language = ?)",
   "en"); 



  1. CASCADE SLET kun én gang

  2. Sådan indsætter du en streng, der indeholder et &

  3. Sådan får du det næste auto-increment-id i mysql

  4. MySQL Bestil før gruppe efter