選択クエリ用に 40 列と数千行、更新用に数行/列の巨大な単一テーブルからデータを取得する Web アプリケーションを設計する必要があります。
パフォーマンスを高速化するために、Hibernate の使用が可能かどうかを教えてください。テーブルが 1 つしかなく、結合がないためです。または、 jdbc dao を使用する必要がありますか?
データベース: SQL Server 2008 Java 7
Hibernate を正しく使用すれば、任意のサイズの結果セットをフェッチしても問題ありません。クエリを避けfrom
て (select ... from ...
クエリを使用)、 を使用してScrollableResults
ください。プレーンな JDBC を使用すると、最初に Hibernate を構成する必要があり、マッピング ファイルを作成する必要があるため、より迅速に開始できます。Hibernate は、クライアント コードからボイラープレートを取り除くのに非常に優れています。
数千件のレコードを取得する必要があり、ページネーションができない場合は、パフォーマンスの問題である可能性があります。Hibernate は全員に対してオブジェクトを作成し、それを永続コンテキストに格納するためです。作成するオブジェクトが多すぎると、大量のメモリが消費されます。これらのタイプの操作には、JDBC の方が適しています。同様の議論については、巨大なデータベースを使用した Hibernate のパフォーマンスの問題を参照してください。