È possibile eseguire l'aritmetica della data utilizzando JPA/Hibernate? Ad esempio, ho un'entità con un campo java.util.Date che indica quando è stata creata la riga. È possibile eseguire una query utilizzando JPQL e includere l'aritmetica della data su quel campo? Ad esempio, posso eseguire un COUNT (*) di righe e quindi GROUP BY il mese in quel campo? Posso eseguire altre funzioni, ad esempio solo restituire il mese o l'anno da quel campo in una query?Data aritmetica JPA?
5
A
risposta
3
HQL ha espressioni di data come second(...)
, minute(...)
, hour(...)
, day(...)
, month(...)
, e year(...)
ma standard di JPQL non ha tali funzioni.
È possibile utilizzare HQL in combinazione con JPQL per ottenere i risultati che mi servono? HQL restituirà le stesse entità come sono o devo aggiungere ulteriori annotazioni, ecc.? – Shadowman
@Shadowman: Sì, lo è e non hai bisogno di annotazioni specifiche per usarli. È solo che la tua query non sarà trasferibile (non è garantito che un altro provider supporterà queste funzioni). –