2013-06-17 9 views
8

現在私は、JDBCから私の現在の実装では、静的な変数にアプリケーションの初期化に静的なデータをロードするので、私は直接データベースにアクセスする必要はありませんいくつかの必要があるときにJDBCから休止状態に私のJava Webアプリケーションを切り替えています静的なデータは、今すぐ休止状態に切り替える私は限り、これらの静的変数を取り除くことを考えている限り、私は冬眠を調べているキャッシュにロードされたデータを保持します。HibernateとJDBCのパフォーマンス?

私はかなり休止状態になっていますので、現在の方法から休止状態に切り替えるとパフォーマンスが向上するかどうかわかりません。私は、休止状態のキャッシングをさらに研究し、いくつかのパフォーマンステストを実行して、どちらの方法が優れているかを見ていきます。

ありがとうございました。

+2

意見は、このサイトの[オフトピック](http://stackoverflow.com/help/on-topic)です。 –

+1

JDBCからHibernateに変更する理由は何ですか?パフォーマンス面では、よく書かれたJDBC(キャッシュ付き)は毎回Hibernateを打つべきです。メンテナンス性の面では、答えは...あなたが必要とするクエリ/データベースの変更の種類によります... – beny23

+0

キャッシュ機能に興味があるのなら、休止状態ではなくehcacheに移動してください。平均的に、休止状態の著者は10%のオーバーヘッドを要求します。 –

答えて

8

JDBCは、ほとんどのデータベースベンダーにとって、Hibernateと比較して常に優れたパフォーマンスを発揮します。以下のリンクに示されている比較を確認することができます。彼は、より少ない行でテーブルを検索するときは、休止状態が速いと結論づけています。

http://phpdao.com/hibernate_vs_jdbc/

JDBCおよびSQLクエリの上に休止状態の選択があるため、パフォーマンスのではなく、理由の理由のため、主にデータベースの特定のクエリを書いていないという点で永続性とデータベースの独立オブジェクト。あなたはより良い見通しを得るためにPDFガイドを読むことができます。

http://www.mindfiresolutions.com/mindfire/Java_Hibernate_JDBC.pdf

0

私は、静的な値を必要とする独自のオブジェクトを作成することをお勧めします。アプリケーションの初期化中に、またはそのデータが初めて要求されたときにデータを取り込むことができます。

比較パフォーマンスに関しては、HibernateベースのデータアクセスレイヤーがJDBCほど優れているか、パフォーマンスの低下が全体的なユーザーエクスプレッションに影響を与えないことが最善のケースです。 Hibernateは、開発をスピードアップし、メンテナンス性を向上させるために使用され、JDBCよりもパフォーマンスの面で優れています。

関連する問題