2016-11-18 5 views
-1

私はクライアントの年齢とシステム登録に基づいてグラフを実装しようとしています。 私は、SQLのコードを書かれているし、それが動作します:フォーマットされた日付のJPAを照会

SELECT 
    [birthdate], 
    convert(date,creationDate) 
FROM 
    [SELENIUM_TEST_DB].[dbo].[Client] 
GROUP BY 
    birthdate, convert(date,creationDate) 

は、どのように私はJPAで同じクエリを書くことができますか?

この

は私がやっていることですが、それが動作していません。

public List<?> getDateForAgeGraph(){ 
    Query q = em.createQuery("Select c.birthdate, convert(date,c.creationDate) From Client c group by c.birthdate ,convert(date,c.creationDate)"); 
    return q.getResultList(); 
} 

結果:

ノードのデータはありませんタイプ:org.hibernate.hql.internal.ast.treeを.MethodNode
- [METHOD_CALL] MethodNode: '('
+ - [METHOD_NAME] IdentNode: '変換' {originalText =コンバート}
- [EXPR_LIST] SqlNode「はexprリスト '
+ - IDNode:'日付 '{元のテキスト=日付}
- [DOT] DotNode:' client0_.creationDate '{プロパティ名=作成日、dereferenceType =プリミティブ、getPropertyPath =作成日、パス= c.creationDate 、tableAlias = client0_、className = ge.shemo.model.client.Client、classAlias = c}
+ - [ALIAS_REF] IdentNode: 'client0_.clientID' {エイリアス= c、className = ge.shemo.model.client。クライアント、tableAlias = client0_}
- [IDENT] IdentNode 'のCreationDate' {originalText =のCreationDate}

+0

質問が更新されました。しかし、私はJPAのための完全に不正確なクエリ式を持っていると思います –

+0

あなたは私の質問を読んだことがありますか?私はSQL Serverのような同じクエリを実装する方法を尋ねているJPAで変換するような機能はありません –

+0

可能性があります[JPQLの日付時間フィールドからのみ日付でグループ化する](http://stackoverflow.com/質問/ 7483176/how-do-i-group-by-date-field-in-jpql) – Tobb

答えて

0

あなたはJPAはあなたのためのすべてのデータ変換を処理するための変換は必要ありません。 creationDateのデータベースタイプは何ですか?クライアントエンティティにはどのタイプがありますか?

関連する問題