2016-11-18 3 views
-1

Ich versuche, ein Diagramm basierend auf dem Alter und der Systemregistrierung von Clients zu implementieren. Ich habe den Code in SQL geschrieben und es funktioniert:Abfrage JPA mit formatiertem Datum

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

Wie kann ich die gleiche Abfrage in JPA schreiben?

Dies ist, was ich getan habe, aber es funktioniert nicht:

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(); 
} 

Ergebnis:

Kein Datentyp für Knoten: org.hibernate.hql.internal.ast.tree .MethodNode
- [METHOD_CALL] MethodNode: '('
+ - [METHOD_NAME] IdentNode: 'convert' {Originaltext = convert}
- [EXPR_LIST] sql-knoten: ‚Ausdr Liste‘
+ - [IDENT] IdentNode: 'date' {Originaltext = date}
- [DOT] DotNode: 'client0_.creationDate' {property = creation, dereferenceType = primitiv, getPropertyPath = creation, path = c.creationDate , tableAlias ​​= client0_, className = ge.shemo.model.client.Client, classAlias ​​= c}
+ - [ALIAS_REF] IdentNode: 'client0_.clientID' {alias = c, className = ge.shemo.model.client. Client, tableAlias ​​= client0_}
- [IDENT] IdentNode: 'creation' {Originaltext = creation}

+0

Aktualisiert die Frage. aber was ich denke, ich habe völlig falsch Abfrage Ausdruck für JPA –

+0

Haben Sie sogar meine Frage gelesen? Ich frage, wie die gleiche Abfrage wie in SQL Server nicht implementieren, gibt es keine Funktion wie konvertieren in JPA –

+0

Mögliche Duplikate von [Wie gruppiere ich nach Datum nur von Datum Zeit Feld in JPQL] (http://stackoverflow.com/ Fragen/7483176/how-do-i-group-nach-Datum-nur-aus-Datum-Zeit-Feld-in-jpql) – Tobb

Antwort

0

Sie brauchen nicht zu konvertieren, weil JPA alle Griffe die Datenkonvertierung für Sie. Was ist der Datenbanktyp von creationDate und welcher Typ ist es in Ihrer Client-Entität?