У меня есть собственный запрос в Spring Boot как таковой:
@Query(value = "SELECT t.* FROM Transaction t WHERE " +
"t.datetime >= TO_TIMESTAMP(?1,'YYYY-MM-ddTHH:MI') " +
"AND t.datetime < TO_TIMESTAMP(?2,'YYYY-MM-ddTHH:MI') " +
"AND (t.location_1 = ?3 or ?3 is null) " +
"LIMIT ?4",
nativeQuery = true)
List<Transaction> findBySearchTerms(@Param("fromDateTime") String fromDateTime,
String toDateTime,
Integer location1,
Integer maxCount
);
Для location1 он может быть нулевым.Когда я выполняю этот запрос с location1 null, он возвращает сообщение об ошибке: org.postgresql.util.PSQLException: ОШИБКА: оператор не существует: bigint = bytea
После чего я попытался привести к параметру 3:
"AND (?3 is null or t.location_1 = cast(?3 as bigint)) " +
Это также приводит к ошибке: org.postgresql.util.PSQLException: ОШИБКА: невозможно привести тип bytea к bigint.
Я искал похожие вопросы по stackoverflow и следовал за некоторыми изрекомендации, но это все еще не работает.Есть идеи?