Я предполагаю, что вы используете API критериев Hibernate.Если это так, сравнивать свойства легко:
Criteria criteria = session.createCriteria(SomeObject.class);
criteria.add(Property.forName("date1").ltProperty("date2"));
criteria.list();
Вы также можете сравнивать объединения и множество других сценариев, поддерживаемых SQL.Подобные вещи также доступны через HQL.
Обновление после просмотра проекта Diber Hibernate Generic:
Похоже, проект DAO Hibernate связывает вам руки с точки зренияфункции гибернации, ограничивающие количество возможных запросов (без предоставления критериев или запросов HQL!).Я не рассматриваю это как добавленную стоимость, даже с утверждением, что это «упрощает» ваши запросы или делает их более «надежными».