ImAbfrage Syntaxfehler, wenn ich versuche Innen zu verwenden, verbinden
Query query = session.createQuery("update Room as r "
+ "inner join Booking as b "
+ "on r.roomId = b.room.roomId "
+ "set r.roomAvailable = true "
+ "where b.checkOutDate < NOW()");
voller Fehler ein org.hibernate.hql.internal.ast.QuerySyntaxException in meiner Anfrage bekommen:
org.springframework.web. util.NestedServletException: Anforderungsverarbeitung fehlgeschlagen; verschachtelte Ausnahme ist java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: erwartet "set", gefunden "inner" in der Nähe von Zeile 1, Spalte 55 [update com.websbestique.springsecurity.model.Room as r inner beitreten com.websystique.springsecurity.model.Booking als b auf r.roomId = b.room.roomId gesetzt r.roomAvailable = true wo b.checkOutDate < NOW()]
die Abfrage in mySQL Workbench arbeitet gut. .. so ist das irgendwie hier im code möglich oder nicht?
Jede Hilfe sehr geschätzt.
* Die Abfrage funktioniert in der mysql workbench *: mysql workbench führt SQL-Abfragen aus. session.createQuery erwartet eine HQL-Abfrage. Das sind zwei verschiedene Sprachen. –
müssen Sie createSqlQuery von createQuery verwenden – mvlaicevich
@mvlaicevich Thanks buddy! – john