JPARepository JPQL @query ORDER BY (ERROR: expecting CLOSE, found 'null' )

JPARepository JPQL @query ORDER BY (ERROR: expecting CLOSE, found 'null' )

.im 使用 JPARepository + Hibernate,我有下一个查询 wuth 一个子查询,该子查询按找到的数字或寄存器排序子结果。

 @Query("SELECT t0 FROM TextFragment t0 WHERE t0.id = "
+ "(SELECT t.id FROM TextFragment t JOIN t.fragment f JOIN t.reactionsTextFragments r "
+ "WHERE f.parent.id = :idParent AND t.codStateTextFragment = '001' "
+ "GROUP BY r.textFragment ORDER BY COUNT(r.textFragment) DESC, t.updatedDate ASC)")

我遇到了下一个错误

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: expecting CLOSE, found 'null' near line 1, column 254 [select count(t0) FROM com.treebuk.model.TextFragment t0 WHERE t0.id = (SELECT t.id FROM com.treebuk.model.TextFragment t JOIN t.fragment f JOIN t.reactionsTextFragments r WHERE f.parent.id = :idParent AND t.codStateTextFragment = '001' GROUP BY r.textFragment]

为什么查询不读取ORDER BY子句和Query的final?我不明白...有人可以帮助我吗?

在 JPQL 中,子查询不能有 ORDER BY。根据 BNF

subquery ::= simple_select_clause subquery_from_clause [where_clause] [groupby_clause] [having_clause]

因此您的查询无效。可惜错误消息没有明确说明问题所在。