В чем разница между пакетами javax.persistence.criteria и org.hibernate.criterion? - PullRequest
0 голосов
/ 04 июня 2018

Недавно моя команда перешла с Hibernate 3 на Hibernate 5, поэтому я работаю над миграцией.Теперь, когда я пытаюсь использовать класс CriteriaQuery, eclipse показывает, что его можно импортировать как из пакетов 'javax.persistence.criteria', так и из пакетов 'org.hibernate.criterion'.

CriteriaQuery cq = getSession().getCriteriaBuilder().createQuery(MyClass.class);

Так что я немного запутался здесь по поводу того, какой из них использовать.

Также было бы очень полезно, если бы кто-то мог объяснить разницу между ними (JPA и Hibernate) какЯ не совсем уверен в этом концептуально, и мне трудно узнать, что происходит под ним.

1 Ответ

0 голосов
/ 05 июня 2018

Из документов Hibernate:

This appendix covers the legacy Hibernate org.hibernate.Criteria API, which should be considered deprecated.

Вам следует использовать критерий JPA, на который сильно повлиял Hibernate.В начале было довольно много различий (например, выборка LAZY vs EAGER в качестве значений по умолчанию для сопоставлений). Ко времени появления Hibernate 5 большинство разногласий было устранено с помощью поведения JPA в Hibernate.Насколько я понимаю, большая часть поведения Hibernate теперь либо совпадает со стандартами JPA, либо похожа на них, и поддерживается только в унаследованных целях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...