- 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
- jeString
s hodnotami oddělenými,