Функция DateAdd не поддерживается в запросе jpa - PullRequest
0 голосов
/ 01 мая 2018

Функция DateAdd работает как SQL-запрос в SQL-сервере, так как я хочу вычесть некоторое количество дней из даты, и я получаю результат, но в то же время я использую в проекте jpa, проект весенней загрузки не начался.

Ниже класса репозитория, если я закомментирую приведенную ниже строку кода, проект весенней загрузки запускается, как и ожидалось.

public interface domainRepository extends CrudRepository<domainTable , Long> {

    @Query("Select DATEADD(day,-(1), d.date) from  domainTable d "
           + "where d.id in (:id)")
    public Date getDate(@Param("id") Long id); 

}

Как это исправить? или мне нужно написать отдельную функцию вместо DATEADD?

1 Ответ

0 голосов
/ 31 мая 2018

На самом деле JPA не поддерживает операции с периодами времени, потому что не все базы данных поддерживают его. Итак, у вас есть следующие варианты:

1 - программный расчет даты (сторона Java, использование API календаря или API даты / времени Java 8).

2- Использовать собственный запрос.

...