Hibernate In Clause

In this section we will introduce concept of Hibernate In Clause.

Hibernate In Clause

--Ads--

Hibernate In Clause

In this section we will introduce concept of Hibernate In Clause.

Hibernate In Clause :

The IN clause allows user to specify multiple values in a WHERE clause. You can use IN clause with your collection.

Suppose you want to choose student record  in some collection of names  So you can use IN clause here.

Example :  This example satisfied your required condition as mentioned above. We are searching record of such students whose details are in the given collection name.

package net.roseindia.main;

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

import net.roseindia.table.Student;
import net.roseindia.util.HibernateUtil;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

public class MainClazz {

public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
String hql = "SELECT stud.roll, stud.name, stud.course FROM Student stud WHERE stud.name IN(:name)";
Query query = session.createQuery(hql);
query.setParameterList("name", new String[] { "Ron", "Som", "Roxi"});
query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);

List objectList = query.list();
Iterator iterator = objectList.iterator();
System.out.println("RollNo.\t Name \t Course");
while (iterator.hasNext()) {
Map map = (Map) iterator.next();
System.out.print(map.get("0"));
System.out.print("\t" + map.get("1"));
System.out.print("\t" + map.get("2"));
System.out.println();
}

session.close(); // session is closed
}

}

Output :

Hibernate: select student0_.roll_no as col_0_0_, student0_.name as col_1_0_, student0_.course as col_2_0_ from student student0_ where student0_.name in (? , ? , ?)
RollNo.     Name      Course
1           Ron       java
3           Roxi      unix

Click here to download complete source code