我在查询中得到一个org.hibernate.hql.internal.ast.QuerySyntaxException
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()");
完整错误:
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:expecting&#34; set&#34 ;, found&#39; inner&#39;在第1行第55列附近[更新com.websystique.springsecurity.model.Room作为r inner join com.websystique.springsecurity.model.Booking as b on r.roomId = b.room.roomId set r.roomAvailable = true其中b .checkOutDate&lt; NOW()]
查询在mysql workbench中工作正常...所以这里代码中是否可以实现?
非常感谢任何帮助。
答案 0 :(得分:1)
您必须使用带有子选择而不是连接的查询。重写您的查询,它将起作用。