Hibernate-native-sql
Hibernate-ネイティブSQL
OracleのクエリヒントやCONNECTキーワードなどのデータベース固有の機能を利用する場合は、ネイティブSQLを使用してデータベースクエリを表現できます。 Hibernate 3.xでは、すべての作成、更新、削除、および読み込み操作に対して、ストアドプロシージャを含む手書きのSQLを指定できます。
アプリケーションは、セッションインターフェイスの* createSQLQuery()*メソッドを使用して、セッションからネイティブSQLクエリを作成します-
SQLクエリを含む文字列をcreateSQLQuery()メソッドに渡した後、addEntity()、addJoin()、addScalar()メソッドを使用して、SQL結果を既存のHibernateエンティティ、結合、またはスカラー結果のいずれかに関連付けることができます。それぞれ。
スカラークエリ
最も基本的なSQLクエリは、1つ以上のテーブルからスカラー(値)のリストを取得することです。 以下は、スカラー値にネイティブSQLを使用するための構文です-
エンティティクエリ
上記のクエリはすべてスカラー値を返すことに関するもので、基本的には結果セットから「生の」値を返します。 以下は、addEntity()を介してネイティブSQLクエリからエンティティオブジェクト全体を取得する構文です。
名前付きSQLクエリ
次は、addEntity()を介してネイティブSQLクエリからエンティティオブジェクトを取得し、名前付きSQLクエリを使用する構文です。
ネイティブSQLの例
次のPOJOクラスを考慮してください-
次のEMPLOYEEテーブルを作成して、Employeeオブジェクトを保存します-
以下はマッピングファイルになります-
最後に、main()メソッドを使用してアプリケーションクラスを作成し、 Native SQL クエリを使用するアプリケーションを実行します-
コンパイルと実行
上記のアプリケーションをコンパイルして実行する手順は次のとおりです。 コンパイルと実行に進む前に、PATHとCLASSPATHを適切に設定してください。
- 構成の章で説明されているように、hibernate.cfg.xml構成ファイルを作成します。
- 上記のように、Employee.hbm.xmlマッピングファイルを作成します。
- 上記のようにEmployee.javaソースファイルを作成し、コンパイルします。
- 上記のようにManageEmployee.javaソースファイルを作成し、コンパイルします。 *ManageEmployeeバイナリを実行してプログラムを実行します。
次の結果が得られ、EMPLOYEEテーブルにレコードが作成されます。
あなたのEMPLOYEEテーブルをチェックする場合、それは次のレコードを持つ必要があります-