- De eerste stap is het genereren van de juiste sql:
WHERE tags @> '{"someTag","anotherTag"}'::text[];
- 2e stap wordt beschreven door Coladict (heel erg bedankt!):zoek uit welke functies worden aangeroepen:@> is arraycontains en ::text[] is string_to_array
- De derde stap is om ze correct aan te roepen. Na uren van debuggen kwam ik erachter dat HQL functies niet als functies behandelt, tenzij ik een expressieteken heb toegevoegd (in mijn geval:...=true), dus de uiteindelijke oplossing ziet er als volgt uit:
predicate.and(Expressions.booleanTemplate("arraycontains({0}, string_to_array({1}, ','))=true", entity.tags, tagsStr));
waartagsStr
- is eenString
met waarden gescheiden door,