JPQL имеет выражение типа сущности, например,
SELECT e FROM Employee e WHERE TYPE(e) IN (Exempt, Contractor)
Имеет ли API критериев выражение типа сущности?
Да. Path.type() создает Expression, соответствующий типу данного пути. Затем вы можете создавать литералы класса, используя CriteriaBuilder.literal() для использования в выражениях сравнения.
Path.type()
Expression
CriteriaBuilder.literal()