- Första steget är att skapa korrekt sql:
WHERE tags @> '{"someTag","anotherTag"}'::text[];
- Steg 2 beskrivs av coladict (tack så mycket!):ta reda på funktionerna som kallas:@> är arraycontains och ::text[] är string_to_array
- Tredje steget är att anropa dem ordentligt. Efter timmar av felsökning kom jag på att HQL inte behandlar funktioner som funktioner om jag inte lagt till ett uttryckstecken (i mitt fall:...=true), så den slutliga lösningen ser ut så här:
predicate.and(Expressions.booleanTemplate("arraycontains({0}, string_to_array({1}, ','))=true", entity.tags, tagsStr));
därtagsStr
- är enString
med värden separerade med,