- Pierwszym krokiem jest wygenerowanie odpowiedniego sql:
WHERE tags @> '{"someTag","anotherTag"}'::text[]; - Drugi krok jest opisany przez coladict (wielkie dzięki!):poznaj funkcje, które są wywoływane:@> to arraycontains i ::text[] to string_to_array
- Trzecim krokiem jest prawidłowe ich wywołanie. Po godzinach debugowania zorientowałem się, że HQL nie traktuje funkcji jako funkcji, chyba że dodałem znak wyrażenia (w moim przypadku:...=true), więc ostateczne rozwiązanie wygląda tak:
predicate.and(Expressions.booleanTemplate("arraycontains({0}, string_to_array({1}, ','))=true", entity.tags, tagsStr));gdzietagsStr- toStringz wartościami oddzielonymi,