Вот мое определение @Query:
Код: Выделить всё
@Query(value = """
SELECT view FROM FilterView view
WHERE (:selectedIds IS NULL
OR array_overlaps(view.ids, (:selectedIds)) IS true)
""")
List findAllByFilter(Collection selectedIds);
< /code>
В этой конфигурации я столкнулся с следующей ошибкой времени выполнения: < /p>
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint[] && bytea
< /code>
Ошибка предполагает, что параметр SelectedIDS рассматривается как Bytea, даже если он определяется как сбор в подписи метода, что я не до конца понимаю, почему. Это приводит к несоответствию типа. Полем Например, CAST (: SelectedIds As Collection ) Я также попытался обернуть параметр элементами (: selectedids) , Но это также приводит к ошибке компиляции: < /p>
Код: Выделить всё
Caused by: org.hibernate.query.sqm.produce.function.FunctionArgumentException:
Parameter 1 of function 'array_overlaps()' requires an array type
java.util.Collection, but argument is of type 'java.lang.Object'
Подробнее здесь: https://stackoverflow.com/questions/794 ... tive-query