- 名前付きパラメータを使用する方法:
Hibernateでは、クエリに名前付きパラメータを使用することができます。以下はその例です。
String hql = "FROM Employee WHERE age > :age";
Query query = session.createQuery(hql);
query.setParameter("age", 25);
List<Employee> employees = query.list();
上記の例では、:age が名前付きパラメータであり、25がパラメータの値です。クエリの実行前に setParameter
メソッドを使用してパラメータの値を設定します。
- 位置パラメータを使用する方法:
Hibernateでは、クエリに位置パラメータを使用することもできます。以下はその例です。
String hql = "FROM Employee WHERE age > ?";
Query query = session.createQuery(hql);
query.setParameter(0, 25);
List<Employee> employees = query.list();
上記の例では、? が位置パラメータであり、25がパラメータの値です。setParameter
メソッドの第一引数にパラメータの位置(0から始まるインデックス)を指定します。
- ネイティブSQLを使用する方法:
Hibernateでは、ネイティブSQLを使用してクエリを実行することもできます。以下はその例です。
String sql = "SELECT * FROM employees WHERE age > :age";
SQLQuery query = session.createSQLQuery(sql);
query.setParameter("age", 25);
query.addEntity(Employee.class);
List<Employee> employees = query.list();
上記の例では、ネイティブSQLを実行するために createSQLQuery
メソッドを使用しています。名前付きパラメータを使用する場合も、setParameter
メソッドを使用してパラメータの値を設定します。