2
SQL模式ONLY_FULL_GROUP_BY默认情况下处于启用状态。因此,而不是禁用ONLY_FULL_GROUP_BY我试图使用ANY_VALUE(arg)带CRUD存储库的MySql ANY_VALUE()方法
查询获取我预期的结果。
我希望这与Spring Boot CrudRepository一起使用。所以我在@查询注释类似于下面(只是一个示例)。我想用@Query标注有一个复杂的查询
@Query("select any_value(c.id), c.number, any_value(c.type) from Call c group by c.number")
public List<Call> getCallsByType(Pageable pageable);
但它抛出一个异常
Caused by: java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode
+-[METHOD_CALL] MethodNode: '('
| +-[METHOD_NAME] IdentNode: 'any_value' {originalText=any_value}
| \-[EXPR_LIST] SqlNode: 'exprList'
如何能不能做到?
你尝试设置[nativeQuery(https://stackoverflow.com/a/15949012/5594670)为真? – Javvano
@Javvano是的,通过将nativeQuery设置为true可以工作。谢谢 – Rajagopal
'nativeQuery'完全破坏了JPA的目的...加上:本机查询是万恶之源。不要使用它们。永远。 – specializt