Hibernate In Clause

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

Hibernate In Clause

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