web-dev-qa-db-ja.com

Hibernate 5で基準クエリが非推奨になったのはなぜですか?

すでに知っているように、criterion queryHibernate 5で非推奨になりました。これは、以前のバージョンのHibernateで非常に便利な機能でした。 そして、HQLよりも優れたパフォーマンスを発揮します。

Hibernate 5で非推奨になった理由は何ですか?

また、この質問は this question の複製ではありません。これは、基準照会の非推奨の理由を知りたいためです。

これは here。 から

Hibernateは古いorg.hibernate.Criteria AP​​Iを提供しますが、これは非推奨と見なされるべきです。これらのAPIを対象とする機能開発はありません。最終的に、Hibernate固有の基準機能は、JPA javax.persistence.criteria.CriteriaQueryの拡張機能として移植されます。 org.hibernate.Criteria AP​​Iの詳細については、「レガシーHibernate基準クエリ」を参照してください。

25
Pritam Banerjee

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を通じてそれらを導入したいと考えています同期中。

12
Naros