Skip to main content

ネイティブクエリとは何ですか?

ネイティブクエリは、構造化されたクエリ言語(SQL)を通じて表現されるクエリであり、C ++およびJavaクエリ式のタイプセーフメソッドと同様に簡潔であると同時に。ネイティブクエリの使用は、クエリのヒントや特定のデータベース固有の機能など、データベース内の特定の機能の利用に有益です。また、SQLまたはJavaデータベース接続(JDBC&Trade;)を使用して、アプリケーションから直接移行のクリーンパスを提供するのにも役立ちます。ネイティブクエリは、スカラー値、エンティティ、またはその両方で構成される結果を提供するために使用されます。これらのタイプのクエリは、ターゲットデータベースでのネイティブSQLの使用をサポートしています。この種のクエリは、オブジェクトの持続性がプログラマーにとって共通のタスクであり、データベースの共通の機能であるオブジェクトデータベースで使用されます。ただし、非ネイティブクエリは、式が単純な文字列であるため、散在する文字列を含むオブジェクトグラフであるため、オブジェクト指向のプログラムでは異質に見えます。クエリは、APIまたはカスタマイズされたクエリ言語なしで記述できます。さらに、統合開発環境(IDE)は、タイプミスの削減を支援することができます。ネイティブクエリは、タイプセーフから最大限に活用され、IDEのリファクタリング機能によってアクセスできるようになります。最後に、データベースのバックエンドなしで、クエリを実行、テスト、およびプロトタイプ化することができます。特定のネイティブクエリによって多くのエンティティが返されると、これらの同じエンティティを指定し、メタデータ定義マッピングソフトウェアプログラムのSQLステートメントで列の結果にマッピングする必要があります。その結果、これらは、永続的なランタイムによるJDBCの結果を予想されるオブジェクトにマッピングするために使用できます。名前パラメーターの使用は、これらのタイプのクエリに対して定義されることはありません。ポータブルアプリケーションは、ネイティブSQLクエリの位置パラメーターのバインディングのみを使用できます。結合のサポートは、単一の値の関係に限定されています。結果セットの記述は、エンティティマネージャーマップ列などのエンティティのプロパティへのプログラムに役立ちます。スカラーの結果も定義され、他のエンティティの結果と混合され、エイリアス列が返されます。結果セットが説明されると、ネイティブクエリの実行が可能です。