Если у вас есть значение дискриминатора для каждого подкласса в вашем отображении (например, 1 для Child1, 2 для Child2, 3 для Child3), вы можете использовать специальный атрибут "class" в ваших HQL / Критериях.
Таким образом, критерий запроса может быть таким:
session.createCriteria(Parent.class)
.add(Restrictions.or(Restrictions.eq("class", 1),
Restrictions.eq("class", 2)))
И ваш HQL-запрос упрощен:
FROM parent WHERE class = 1 OR class = 2