Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

timestampdiff equivalent in JPQL (without using criteria)

Tags:

java

mysql

jpa

jdbc

I want to use following mysql function in JPQL:-

TIMESTAMPDIFF(YEAR, some_start_date, CURDATE());

Also, I do not have to use Criteria in JPA, since we are following practice of writing Named queries(JPQL). So, how can this function be written in JPQL?

like image 401
Sumit Desai Avatar asked Oct 31 '25 11:10

Sumit Desai


1 Answers

If you are using JPA 2.1 or later version, try the following JPQL:

select a from EntityClass a where FUNCTION('DATEDIFF', CURRENT_DATE, a.createDt) / 365 >= 1

The above JPQL is to retrieve all entities which have been created for more than 1 year.

like image 94
Dicky Ho Avatar answered Nov 02 '25 21:11

Dicky Ho