2011-07-04 12 views
2

エンティティに対してNamedQueriesとしてクエリを実行すると、大きな利点がありますか?そうでなければ、私たちはDAO自身でそれを持つことができます。この点でいくつかのアイデアをうかがってください。名前付きクエリ長所と短所

答えて

1

名前付きクエリを使用する主な利点は、起動時にHibernateがクエリを解析してエラーがすばやく検出されることです。

名前付きクエリは、休止状態で非常に便利な概念です。アプリケーションのコーディングセクションからクエリXMLファイル(.hbmファイル)にクエリを分けることができます。問合せには、アプリケーション全体の一意の名前が付けられます。アプリケーションは、クエリの名前を使用してクエリを使用できます。このようにして、アプリケーションは、同じクエリを複数回書くことなく、同じクエリを複数回使用することができます。

2

アプリケーションは、同じクエリを繰り返し実行を必要とするとき、重要なパフォーマンス上の利点を提供します。 これは、すべてのクエリがビジネスティアでどのような構文を記述するのに使用されていても(ハイバネート構文など)、ネイティブクエリとして終了する必要があります。理解するために)実行される。このトランスフォーメーションはコンパイルと呼ばれ、時間を消費するプロセスと見なされます。 したがって、パフォーマンス上の利点は、Named Queriesがhibernateによって一度だけネイティブ構文にコンパイルされ、その後実行されるという事実から生まれます。ダイナミックに作成されたクエリは、実行の前にネイティブ構文に毎回コンパイルする必要があります。

関連する問題