Почему запрос критериев в Hibernate 5 не рекомендуется?

java hibernate hibernate-criteria

18690 просмотра

1 ответ

12020 Репутация автора

Как мы уже знаем, критерий запроса в Hibernate 5 устарел . Это была такая полезная функция в предыдущих версиях Hibernate. И он по-прежнему работает лучше, чем HQL.

Так в чем же причина его устаревания в Hibernate 5 ?

А также этот вопрос не является дубликатом этого вопроса, так как я хочу знать причину отклонения критерия запроса.

Это отсюда.

Hibernate предлагает более старый, устаревший org.hibernate.CriteriaAPI, который следует считать устаревшим. Никакая разработка функций не будет нацелена на эти API. В конце концов, специфичные для Hibernate критерии будут перенесены как расширения в JPA javax.persistence.criteria.CriteriaQuery. Для получения дополнительной информации об org.hibernate.CriteriaAPI см. Унаследованные критерии критериев гибернации.

Автор: Pritam Banerjee Источник Размещён: 19.07.2016 01:23

Ответы (1)


12 плюса

11796 Репутация автора

Решение

Мы осуждаем Criteria API вместо поддержки расширения JPA.

Учти это:

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
HibernateCriteria hc = cb.unwrap( HibernateCriteria.class );
...
query.where( hc.someAwesomeThing( ... ) );
List<SomeEntity> entities = entityManager.createQuery( query ).getResultList();

В отличие от комментариев, мы действительно намерены продолжать поставлять Hibernate-специфические особенности, но мы хотим , чтобы ввести те через стандартный API вместо , а не пытаться управлять держать две очень разные интерфейсы, которые призваны дополнять друг друга в синхронизации.

Автор: Naros Размещён: 09.02.2017 11:23
Вопросы из категории :
32x32