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]
因此您的查询无效。可惜错误消息没有明确说明问题所在。
.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]
因此您的查询无效。可惜错误消息没有明确说明问题所在。