SQLモードのONLY_FULL_GROUP_BYは、デフォルトで有効です。したがって、ONLY_FULL_GROUP_BYを無効にする代わりに、ANY_VALUE(arg)を使用しようとしています。CRUDリポジトリを使用したMySql ANY_VALUE()メソッド
クエリは私に予想される結果を取得します。
私はこれをSpring Boot CrudRepositoryで使用したいと考えています。だから私は@クエリー注釈の上にそれを持っていた(以下のようなサンプル)。私は、複雑なクエリで
@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);
を@queryアノテーションを使用したいが、それは例外
それを行うことができますか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'
を投げますか?
あなたはtrueに[nativeQuery](https://stackoverflow.com/a/15949012/5594670)を設定してみてくださいましたか? – Javvano
@Javvanoはい、nativeQueryをtrueに設定して動作します。ありがとうございます – Rajagopal
'nativeQuery'はJPAの目的を絶対に打ち負かしています。プラス:ネイティブクエリーはすべての悪の根源です。それらを使用しないでください。これまで – specializt