Устаревший метод createCriteria в Hibernate 5
Это вызов устарел:
session.createCriteria(Bus.class).list();
В исходных файлах я вижу это:
/** @deprecated */
@Deprecated
Criteria createCriteria(Class var1);
/** @deprecated */
@Deprecated
Criteria createCriteria(Class var1, String var2);
/** @deprecated */
@Deprecated
Criteria createCriteria(String var1);
/** @deprecated */
@Deprecated
Criteria createCriteria(String var1, String var2);
Но я не могу понять, какой метод мне нужно использовать вместо createCriteria
.
Ответы
Ответ 1
Вместо Hibernate 5.2 + можно использовать следующие интерфейсы:
javax.persistence.criteria.CriteriaBuilder
javax.persistence.criteria.CriteriaQuery
// Create CriteriaBuilder
CriteriaBuilder builder = session.getCriteriaBuilder();
// Create CriteriaQuery
CriteriaQuery<YourClass> criteria = builder.createQuery(YourClass.class);
Ответ 2
из документации API:
@Deprecated Критерий createCriteria (класс persistentClass) Устаревшее. (начиная с 5.2) для сессии, используйте критерии JPA Создать экземпляр Criteria для данного класса (сущность или подклассы/разработчики). Параметры: persistentClass - класс, который является сущностью или имеет подклассы/реализации объекта Возвращает: Экземпляр критериев для манипуляции и выполнения
Поэтому он кратко говорит...
использовать критерии критериев JPA Создать критерии