すでに知っているように、criterion queryはHibernate 5で非推奨になりました。これは、以前のバージョンのHibernateで非常に便利な機能でした。 そして、HQLよりも優れたパフォーマンスを発揮します。
Hibernate 5で非推奨になった理由は何ですか?
また、この質問は this question の複製ではありません。これは、基準照会の非推奨の理由を知りたいためです。
これは here。 から
Hibernateは古い
org.hibernate.Criteria
APIを提供しますが、これは非推奨と見なされるべきです。これらのAPIを対象とする機能開発はありません。最終的に、Hibernate固有の基準機能は、JPAjavax.persistence.criteria.CriteriaQuery
の拡張機能として移植されます。org.hibernate.Criteria
APIの詳細については、「レガシーHibernate基準クエリ」を参照してください。
JPA拡張サポートの代わりにCriteria APIを廃止します。
このことを考慮:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
HibernateCriteria hc = cb.unwrap( HibernateCriteria.class );
...
query.where( hc.someAwesomeThing( ... ) );
List<SomeEntity> entities = entityManager.createQuery( query ).getResultList();
コメントとは反対に、私たちはdo Hibernate固有の機能を引き続き提供するつもりですが、補完的な2つの非常に異なるAPIを維持することを管理しようとするのではなく、標準のAPIを通じてそれらを導入したいと考えています同期中。