Это то, что я на самом деле хотел и смог получить, используя опцию .class:
from Connection c where c.contractStartDate < :afterdate and c.contractStartDate > :beforeDate and c.class = MobilePhoneConnection
Это может быть полезно, когда нужно использовать псевдонимы, но похоже, что решение от Фредерика Гейсела также работает. То, что не сработало для меня в первый раз, это:
from MobilePhoneConnection mb where mb.contractStartDate < current_date
Было бы жаловаться так:
2010-09-22 10: 56: 19,495 ОШИБКА main org.hibernate.hql.PARSER -: 1: 72: неожиданный узел AST: contractStartDate