Мне кажется, что этот запрос можно переписать с помощью простого объединения:
from Table1 c inner join c.table2 p
where c.colummewhatever =:value
and p.colummewhatever in (:listPColummewhatever)
Перевод этого HQL-запроса в критерии теперь стал намного проще.
Это, конечно, предполагает, что у вас есть связь между таблицей 1 и таблицей 2, но у вас должна быть такая.