Question

Can anyone point me to an example on how to use CURRENT_DATE in a JPA query?

CURRENT_DATE is specified in JPA but I haven't been able to make it work. I always get the unexpected token [CURRENT_DATE] exception. Since it is specified in JPA all providers should comply with it right?

I'm using EclipseLink 2.0 BTW.

Was it helpful?

Solution

It can be used like so:

Query query = manager
    .createQuery("SELECT c FROM CITIES c WHERE c.founded = CURRENT_DATE");
for (Object city : query.getResultList()) {
  System.out.println(city);
}

...where founded is a temporal type:

  @Column(name = "FOUNDED")
  @Temporal(TemporalType.DATE)
  private Date founded = new Date();

Not a great example, but you get the idea. I'm using Eclipselink 1.1.2

OTHER TIPS

The answer to this question was retrieving the values via JPA and then do the math in plain Java.

If you are using the Expression Framework there is the Expression currentDateDate() method on the Expression (org.eclipse.persistence.expressions.Expression) object.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top