2016-04-29 17 views
3

私のチームは、Hibernate 3.xの下で長い間hibernate Criteria APIを使用してきました。最近、Hibernateのバージョンを5にアップグレードしたいが、Criteria APIはもはや推奨されていないようだ。しかしJPAは、私たちが危険にさらされたくない全く異なるAPIのように見えます。私たちは古い基準を使い続けるべきですか?レガシー基準APIはまだ推奨されていますか?

答えて

3

まあ、Version 5.0 Criteria Chapterに警告がかなりくそ大きいです:

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

そして、もっとあります:我々はそれができれいな外観を表してJPA APIが優れていることが信じているものの、古い休止org.hibernate.CriteriaクエリAPIの

ユーザーは、一般的なアプローチを認識しますそのAPIから学んだ教訓。

あなたのチームにとっては本当にそうです。 JPA APIに慣れるまでにはしばらく時間がかかりましたが、今はかなりスムーズに航行しています。私は非常に大きなフェッチのためのパフォーマンスのためにHibernateに戻ってきましたが、一般的に私はJPAを使って何の問題もありません。私は基本的なアクセスのために@NamedQueriesを使用する傾向があり、さらに動的なものが必要な場合はCriteriaのAPIを使用する傾向があります。

EDIT:更新パフォーマンスの問題を解決できました。アプリケーションは厳密にJPAになりました。

0

従来のHibernate Criteria APIからJPA APIに時間制限/プロジェクトの期限/その他のリスクを理由にコードを移動できない場合は、タイムラインを設定する必要があります。 Hibernateは、廃止予定のCriteria APIを次の2つのメジャーバージョン内に完全にドロップします。

関連する問題