Собственная генерация запросов JPA с COUNT (DISTINCT obj) - PullRequest
3 голосов
/ 14 декабря 2010

, пожалуйста, помогите мне с JPQL-запросом в OpenJPA 1.2.x. Вот текст моего запроса:

выберите количество (отличный от evt) из события evt, ГДЕ (evt.beginDate> =: startOfPeriod иevt.beginDate <=: endOfPeriod) ORDER BY evt.beginDate asc </p>

Во время выполнения возникает ошибка:

org.apache.openjpa.persistence.ArgumentException: DB2Ошибка SQL: SQLCODE = -119, SQLSTATE = 42803, SQLERRMC = BEGIN_DATE, DRIVER = 3.59.81 {prepstmnt 1520523937 ВЫБРАТЬ СЧЕТ (DISTINCT t0.ID), t0.BEGIN_DATE ОТ КОМПАНИИ. EVENT t0 ГДЕ (t0.BEGIN_D>>t0.BEGIN_DATE <=?) оптимизировать для 1 строки [params = (метка времени) 2010-12-14 00: 00: 00.0, (метка времени) 2010-12-14 23: 59: 59.999]} [код = -119, состояние= 42803] </p>

Почему JPA печатает поле t0.BEGIN_DATE в предложении select?Почему JPA пропустил предложение ORDER BY в нативном SQL?Например, этот запрос (без t0.BEGIN_DATE в предложении select) действителен:

SELECT COUNT(DISTINCT t0.ID) 
    FROM CALENDAR.EVENT t0
    WHERE (t0.BEGIN_DATE >= null AND t0.BEGIN_DATE <= null)

Я установил значение NULL только для успешного выполнения SQL-запроса

Isэто какая-то ошибка?

1 Ответ

3 голосов
/ 14 декабря 2010

О, мужик ... просто удалите "ORDER BY evt.beginDate asc".Так глупо.Я считаю, мне не нужен порядок по ... Проблема была решена мной.Извините за беспокойство.

...