Hibernate查询语法错误?

Hibernate查询语法错误?,hibernate,hql,Hibernate,Hql,上面的问题出了什么问题? 它给了我这个错误 from (From FlightSchedule as a where a.route.routeId=1) as b 我试着用不同的方式来写,但是没有用。 我的假设是,内部查询应该计算为对象列表,并且第一个from标记应该返回相同的对象列表? 请告诉我我做错了什么? 谢谢。你的假设是错误的。这是无效的HQL。引自: 请注意,HQL子查询只能出现在select或where子句中 您的整个查询看起来如何?将From更改为From,它们区分大小写。在m

上面的问题出了什么问题? 它给了我这个错误

from (From FlightSchedule as a where a.route.routeId=1) as b
我试着用不同的方式来写,但是没有用。 我的假设是,内部查询应该计算为对象列表,并且第一个from标记应该返回相同的对象列表? 请告诉我我做错了什么?
谢谢。

你的假设是错误的。这是无效的HQL。引自:

请注意,HQL子查询只能出现在select或where子句中


您的整个查询看起来如何?将From更改为From,它们区分大小写。在mysql中,应该是这样的:select*From select*From FlightSchedule,其中routeId=1 a;为什么在这里使用嵌套查询?顺便说一句,如果您想要嵌套查询,嵌套查询应该包含select子句,据我所知,您不能在hibernate的from子句中使用嵌套查询。为什么不将FRIGHTSchedule作为where a.route.routeId=1使用呢?因为我要进行自联接。选择*from select*from flightschedule,其中routeId=1加入select*from flightschedule,其中routeId=2谢谢您的回答。但是我如何编写HQL等效于select*from select*from flightschedule,其中routeId=1 a;我也试过了,但现在它显示意外标记*。另外,我在文档页面上找不到任何select*示例。您不能。子查询只能出现在select或where子句中。使用SQL。谢谢你。但是使用sql我不会从hibernate缓存中获益。我可以吗?是的,你可以。与HQL查询一样。SQLQuery扩展了具有可设置缓存方法的查询
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: ( near line 1, column 6 [from
 (From FlightSchedule as a where a.route.routeId=1) as b]