Home Hibernate Hibernate Query setParameter()

 
 

Share on Google+Share on Google+

Hibernate Query setParameter()

Advertisement
This section describe use of query.setParameter() in HQL with example.

Hibernate Query setParameter()

This section describe use of query.setParameter() in HQL with example.

Hibernate query.setParameter():

  setParameter() is used for setting value of Named query parameter. It works with Query instance, which you can get by Session.createQuery().
There is many way to setParameter() according to developer need. Here we are mentioning-

setParameter(int arg0,Object arg1):Query query- It takes two arguments,
arg0 - int type, refer parameter in the query string ,
arg1 - holds non null parameter value.

setParameter(String arg0,Object arg1):Query query-It takes two arguments,
arg0 - String type, refer parameter in the query string
arg1 - contains non null parameter value.

setParameter(int arg0,Object arg1,Type arg2):Query query -It takes three arguments,
arg0 - int type, refer parameter in the query string ,
arg1 - holds non null parameter value ,
arg2 - for the hibernate type.

setParameter(String arg0,Object arg1,Type arg2):Query query-It takes two arguments,
arg0 - String type, refer parameter in the query string
arg1 - contains non null parameter value.
arg2 - for the hibernate type.

setParameters(Object[] arg0,Type[] arg1):Query query-It takes two arguments, both is used for binding value and type to the positional parameters.

Example : Student is our table and we are selecting the student name whose roll number is 5.

package net.roseindia.main;

import java.util.Iterator;
import java.util.List;

import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class MainClass {

public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();

int roll = 5;
try {
Transaction transaction = session.beginTransaction();
String hql = "FROM Student stud WHERE stud.roll=:roll";
Query query = session.createQuery(hql);
query.setParameter("roll", roll);
query.setParameter(roll, args);
List list = query.list();
transaction.commit();
Iterator iterator = list.iterator();
Student student = (Student) iterator.next();
System.out.println(student.getName());

session.flush();
} catch (HibernateException e) {

e.printStackTrace();
} finally {
session.close();
}
}
}

Output:

Hibernate: select student0_.roll_no as roll1_0_, student0_.course as course0_, student0_.name as name0_ from student student0_ where student0_.roll_no=?
Charli

Click here to download complete source code

Advertisement

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: July 11, 2012

Related Tutorials

Discuss: Hibernate Query setParameter()  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:0
DMCA.com