运行查询时出现以下错误。
org.hibernate.hql.ast.QuerySyntaxException: expecting CLOSE, found 'LIMIT' near line 1, column 194 [from com.claystone.db.Gpsdata where id.mobileunitid = '2090818044' and gpsdate in (select id.gpsdate from com.claystone.db.Gpsdata where id.mobileunitid = '2090818044' ORDER BY id.gpsdate DESC LIMIT 1 ) and gpsstatus='true']
这是我的Query.Please给出了这个查询中的错误是什么?
data=session.createQuery[from com.claystone.db.Gpsdata where id.mobileunitid = '2090818044' and gpsdate in (select id.gpsdate from com.claystone.db.Gpsdata where id.mobileunitid = '2090818044' ORDER BY id.gpsdate DESC LIMIT 1 ) and gpsstatus='true']
答案 0 :(得分:4)
为什么使用子查询?就这样做:
data=session.createQuery[from com.claystone.db.Gpsdata where id.mobileunitid = '2090818044' and gpsstatus='true' ORDER BY id.gpsdate DESC LIMIT 1]
您可能需要将LIMIT 1
放在最后,并在查询中使用.setMaxResults(1)
。
答案 1 :(得分:0)
另一方面,如果使用createQuery()而不是CreateSQLQuery(),则可以看到相同的错误。 "期待CLOSE,发现' LIMIT'"或者"期待CLOSE,找到' NULL'