2016-03-24 2 views
0

Я создал запрос в Spring boot Jpa, используя @query. Это идет какМожет ли команда group взять пользовательские входы весной boot jpa?

@Query(
    "select id,sum(col_a),sum(col_b), 
    weekcal(to_date(?2,'mm/dd/yyyy'),weekof) as startofweek 
    from abc_table 
    where id=?1 and 
    weekof between to_date(?2,'mm/dd/yyyy') and to_date(?3,'mm/dd/yyyy') 
    group by weekcal(to_date(?2,'mm/dd/yyyy'),weekof),id") 
List<object_abc> method_abc(String id,String fromdate,String todate) 

Я получаю след ошибки, когда я запускаю мой тестовый случай:

[WARN] org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 979, SQLState: 42000 [ERROR] org.hibernate.engine.jdbc.spi.SqlExceptionHelper - ORA-00979: not a GROUP BY expression

ПРИМЕЧАНИЕ: weekcal моей определенного пользователя функция SQl, которая принимает два параметра даты и возвращает VARCHAR. weekof - это имя столбца.

может группироваться, беря вход пользователя в качестве аргументов в JPA, потому что тот же запрос работает отлично, когда я жестко кодирую любую дату. Пример '01 -17-2016 'вместо порядкового номера (? 2).

Заранее спасибо.

+0

Запрос явно INVALID JPQL. В JPQL нет «недельного», «to_date». –

ответ

0

@Query("SELECT c.currency, SUM(c.population) FROM Country c WHERE c.continents GROUP BY c.currency HAVING COUNT(c) > 1")

int getCurrencyCount(@Param("currency") Long currency,@Param("population") Long population, @Param("continents ") String continents)

вы можете найти больше примеров здесь JPA Query Structure

Смежные вопросы