QuerySyntaxException:Hibernate无法识别java中的postgres查询语法

Usm*_*man 2 java sql postgresql hibernate

我在使用hibernate for postgres表时遇到了在java中执行以下查询的问题.

该查询用于使用内部联接从3个表中检索数据.

查询:

QryJourney ="SELECT journey.id,journey.operatingday,journey.linename,journey.scheduledeparture,journey.scheduledeparturestopname,journeydetail.stopname,journeydetail.latitude,journeydetail.longitude FROM journey left join journey_journeydetail ON journey.id = journey_journeydetail.journey_id left JOIN journeydetail ON journey_journeydetail.journeydetails_id = journeydetail.id WHERE journey.id ='155815228'ORDER BY journeydetail.schedulearrival";

一旦执行,就会发生异常.

例外:

线程"main"中的异常org.hibernate.hql.internal.ast.QuerySyntaxException:意外标记:ON第1行,第268行[SELECT journey.id,journey.operatingday,journey.linename,journey.scheduledeparture,journey.scheduledeparturestopname, traveldetail.stopname,journeydetail.latitude,journeydetail.longitude FROM de.db.journeyTracker.model.journey left join journey_journeydetail ON journey.id = journey_journeydetail.journey_id left JOIN journeydetail ON journey_journeydetail.journeydetails_id = journeydetail.id WHERE journey.id ='155815228 'ORDER BY journeydetail.schedulearrival]

在SQL窗格上执行时,Tis查询在postgres上100%正常工作.有人有任何想法吗?

关心乌斯曼

Cra*_*ger 5

Hibernate查询是用Hibernate查询语言(HQL)编写的,而不是用本机SQL 编写的 .用HQL重写您的查询或使用 本机查询将SQL与Hibernate一起使用.

Hibernate是一个对象关系映射器.它不会只给你一个结果集.如果需要,请使用PgJDBC直接使用JDBC.

如果您希望将本机域对象作为查询结果,请使用Hibernate和HQL或通过本机查询映射.本机查询很简单,因为你必须明确地告诉Hibernate所有结果列如何映射到结果对象.