Так как для Алекса есть 3 результата. Я думаю, что ваша структура таблицы выглядит примерно так
name | competence
-----------------
Alex | A
Alex | B
Alex | C
John | A
John | B
Ваш текущий запрос в SQL может выглядеть как
select name from competences where competence in ('A', 'B', 'C')
Возможно, вы захотите добавить distinct
select distinct name from competences where competence in ('A', 'B', 'C')
который в criteria
API выглядит .distinct(true)
UPDATE
IN
является условием OR
. Если вы хотите name
только со всеми компетенциями, вам следует сделать следующее (при условии, что в компетенции не будет нескольких записей для человека)
select name from competences where competence in ('A', 'B', 'C') group by name having count(name) = 3;
3
- длина массива IN