- Prvním krokem je vygenerování správného sql:
WHERE tags @> '{"someTag","anotherTag"}'::text[]; - 2. krok popisuje coladict (díky moc!):zjistěte, jaké funkce se nazývají:@> is arraycontains a ::text[] je string_to_array
- Třetím krokem je správně je zavolat. Po hodinách ladění jsem přišel na to, že HQL nezachází s funkcemi jako s funkcemi, pokud jsem nepřidal znak výrazu (v mém případě:...=true), takže konečné řešení vypadá takto:
predicate.and(Expressions.booleanTemplate("arraycontains({0}, string_to_array({1}, ','))=true", entity.tags, tagsStr));kdetagsStr- jeStrings hodnotami oddělenými,