bitte helfen Sie mir mit JPQL Abfrage auf OpenJPA 1.2.x Hier ist der Text meiner Anfrage:JPA nativen Abfrage Generation mit COUNT (DISTINCT obj)
select count (distinct evt) from Event evt WHERE (evt.beginDate >= :startOfPeriod and evt.beginDate <= :endOfPeriod) ORDER BY evt.beginDate asc
Zur Laufzeit bekomme ich einen Fehler:
org.apache.openjpa.persistence.ArgumentException: DB2 SQL Error: SQLCODE=-119, SQLSTATE=42803 , SQLERRMC=BEGIN_DATE, DRIVER=3.59.81 {prepstmnt 1520523937 SELECT COUNT(DISTINCT t0.ID), t0.BEGIN_DATE FROM COMPANY.EVENT t0 WHERE (t0.BEGIN_DATE >= ? AND t0.BEGIN_DATE <= ?) optimize for 1 row [params=(Timestamp) 2010-12-14 00:00:00.0, (Timestamp) 2010-12-14 23:59:59.999]} [code=-119, state=42803]
Warum druckt JPA Feld t0.BEGIN_DATE in Select-Klausel? Warum hat JPA die ORDER BY-Klausel in nativem SQL übersehen? Zum Beispiel diese Abfrage (ohne t0.BEGIN_DATE in select-Klausel) gilt:
SELECT COUNT(DISTINCT t0.ID)
FROM CALENDAR.EVENT t0
WHERE (t0.BEGIN_DATE >= null AND t0.BEGIN_DATE <= null)
Inull nur für den erfolgreichen SQL-Abfrage Ausführung festgelegt haben
Ist es eine irgendeine Art eines Fehlers ?