-
エンティティクラスの作成: 最初に、Hibernateでデータベースのテーブルとマッピングされるエンティティクラスを作成します。エンティティクラスは、データベースのテーブルとフィールドのマッピングを定義します。
-
Named Queryの定義: Named Queryは、エンティティクラス内に定義されます。以下は、Named Queryの定義の例です。
@Entity @NamedQuery(name = "findUserByUsername", query = "SELECT u FROM User u WHERE u.username = :username") public class User { // ... }
この例では、"findUserByUsername"という名前のNamed Queryが定義されています。このクエリは、"User"エンティティからユーザ名が指定された値と一致するユーザを検索します。
-
Named Queryの使用: Named Queryを使用するには、Hibernateのセッションを取得し、NamedQueryオブジェクトを作成します。次に、NamedQueryオブジェクトにパラメータを設定し、クエリを実行します。
Session session = sessionFactory.openSession(); Query query = session.getNamedQuery("findUserByUsername"); query.setParameter("username", "john_doe"); List<User> users = query.getResultList(); session.close();
この例では、"findUserByUsername"という名前のNamed Queryを取得し、"username"パラメータを設定しています。最後に、結果を取得し、セッションをクローズします。
以上が、HibernateでNamed Queryを使用する方法です。Named Queryは、クエリの再利用やパラメータの設定を簡単に行うための便利な手法です。