[Java lista] JPQL dátum kezelések

István Viczián viczian.istvan at gmail.com
2011. Ápr. 6., Sze, 12:48:02 CEST


Szia!

Mi az a YEAR ott? Azt nem értem.
Sajnos nagyon rosszak a beépített dátumkezelési funkciók. Szerintem
Java-ban végezz el mindent, amit akarsz, és Date-et adj át az egész
zárójelezett kifejezés helyett  (CURRENT_DATE - :ageFrom YEAR).

Amit én használok: Pro JPA 2 könyv (Apress)

Viczi

2011/4/6 Mariák Kálmán <sirkalmi at kalmiesemese.hu>:
> Sziasztok!
>
> JPQL-ben szeretném szépen megoldani, hogy dátum számítás és
> összehasonlítás során szűrjek rekordokat.
>
> Ezzel próbálkoztam:
> u.studentExtension.birthDate <= (CURRENT_DATE - :ageFrom YEAR)
> Ahol az ageFrom egy egész szám. Ezt a kivételt dobja:
>
> Internal Exception: NoViableAltException(83!=[799:1:
> arithmeticExpression returns [Object node] : (n=
> simpleArithmeticExpression | LEFT_ROUND_BRACKET n= subquery
> RIGHT_ROUND_BRACKET );])java.lang.IllegalArgumentException: An exception
> occurred while creating a query in EntityManager:
> Exception Description: Syntax error parsing the query [SELECT u FROM
> User u WHERE 1 = 1 AND u.studentExtension.birthDate <= (CURRENT_DATE
> - :ageFrom YEAR) AND u.studentExtension.birthDate >= (CURRENT_DATE
> - :ageTo YEAR) ], line 1, column 69: unexpected token [(].
>
>
> Mit csinálok rosszul és hol találok ezekre példákat? Próbáltam neten
> keresni de nem találtam olyan oldalt ami direkt ezeknek a használatát
> mutatná be.
>
> Köszi a válaszokat!
>
> Mariák Kálmán
> alias sirkalmi
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>


További információk a(z) Javalist levelezőlistáról