私のチームは、Hibernate 3.xの下で長い間hibernate Criteria APIを使用してきました。最近、Hibernateのバージョンを5にアップグレードしたいが、Criteria APIはもはや推奨されていないようだ。しかしJPAは、私たちが危険にさらされたくない全く異なるAPIのように見えます。私たちは古い基準を使い続けるべきですか?レガシー基準APIはまだ推奨されていますか?
答えて
まあ、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になりました。
従来のHibernate Criteria APIからJPA APIに時間制限/プロジェクトの期限/その他のリスクを理由にコードを移動できない場合は、タイムラインを設定する必要があります。 Hibernateは、廃止予定のCriteria APIを次の2つのメジャーバージョン内に完全にドロップします。
- 1. SymfonyデベロッパーでXdebugはまだ推奨されていますか?
- 2. ネストされたオブジェクトをパラメータとして推奨するREST APIは推奨されていますか?
- 3. Aurelia検証:デコレータAPIは推奨されていませんか?
- 4. chrome.fileSystem app APIは推奨されていませんか?
- 5. gradleのandroid transform-apiは推奨されていませんか?
- 6. カメラAPIはZxingライブラリでは推奨されていません
- 7. 推奨されていませんget_io_service()
- 8. stringWithContentsOfFile推奨されていません
- 9. Solr推奨されていません
- 10. beginSheetForDirectory ...推奨されていません
- 11. 推奨されていませんPlus.PeopleApi.load
- 12. ActivityRecognitionApiまたはActivityRecognitionClientは推奨されていませんか?
- 13. Facebook APIコール - 「このAPIバージョンは推奨されていません」
- 14. レガシーfirebase APIは引き続きサポートされていますか?
- 15. なぜNode.jsではドメインAPIが推奨されていませんか?
- 16. なぜStruts2 FilterDispatcherは推奨されていませんか? API文書で
- 17. djangoプロダクションサーバにはvirtualenvが推奨されていますか?
- 18. ワイルドカードSSL証明書は推奨されていますか?
- 19. メディエーターパターンの使用は推奨されていますか?
- 20. SilverStripe 3.xのネームスペースは推奨されていますか?
- 21. は、AxShDocVw.AxWebBrowserは推奨されていませんか?
- 22. MessageBoxはMVVMアプリケーションでは推奨されていませんか?
- 23. SBJson iOSパーサーメソッドは推奨されていませんか?
- 24. @IonicPageデコレータは推奨されていませんか?
- 25. Aurelia検証@ensureデコレータは推奨されていませんか?
- 26. mongodbの 'updateMany'機能は推奨されていませんか?
- 27. LOGIN_REDIRECT_URLは推奨されていませんか?
- 28. project.jsonは推奨されていませんか?
- 29. Snackbar.setCallBackは推奨されていませんか?
- 30. HTML属性のkeytypeは推奨されていませんか?