Datediff Функция прорывает Junit TestsJAVA

Программисты JAVA общаются здесь
Anonymous
Datediff Функция прорывает Junit Tests

Сообщение Anonymous »

Я работаю над Java 21 с Spring Boot. У меня есть множество тестов JUNIT для моего проекта. Согласно моей последней задаче, я реализовал планировщик, который физически удаляет строки на моем MySQL DB, который, где логически удаляется в течение фиксированного периода времени. Например, если я прохожу 120, это означает, что любые записи, которые были логически удалены более 120 дней назад, теперь должны быть физически удалены. < /P>
Это запрос: < /p>

Код: Выделить всё

@Query("SELECT o FROM OutputStreamJpa o WHERE o.deleted IS NOT NULL " +
"AND DATEDIFF(CURRENT_DATE, o.deleted) >= :days")
List findDeletedOlderThanFixedDays(Integer days);
< /code>
вещь, это прорывает все мои тесты JUNIT. Это дает действительно странные ошибки, как будто определенные классы не были автоматическими правильно. Удаление этого запроса исправляет его. < /P>
Caused by: java.lang.IllegalArgumentException: org.hibernate.query.sqm.produce.function.FunctionArgumentException: Parameter 1 of function 'timestampdiff()' has type 'TEMPORAL_UNIT', but argument is of type 'java.lang.Object'
Я использую H2 DB для моих тестов на JUNIT, если это может быть вам полезна.

Подробнее здесь: https://stackoverflow.com/questions/795 ... unit-tests

Вернуться в «JAVA»