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}
Aktualisiert die Frage. aber was ich denke, ich habe völlig falsch Abfrage Ausdruck für JPA –
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 –
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