
How to display record by using criteria by id in Hibernate?

Here is an example -
package net.roseindia.main;
import java.util.*;
import net.roseindia.table.Employee;
import net.roseindia.util.HibernateUtil;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
public class CriteriaById{
public static void main(String []args){
SessionFactory sessionFactory=HibernateUtil.getSessionFactory();
Session session=sessionFactory.openSession();
Criteria criteria=session.createCriteria(Employee.class).add(Restrictions.eq("id", 1));
List<Employee> employeeList = new ArrayList<Employee>();
employeeList = criteria.list();
Iterator it = employeeList.iterator();
while (it.hasNext()) {
Employee employee = (Employee) it.next();
System.out.println(employee.getId());
System.out.println(employee.getName());
System.out.println(employee.getSalary());
System.out.println(employee.getDateOfJoin());
}
session.close();
}
}
Output:
Hibernate: select this_.emp_id as emp1_0_0_, this_.date_of_join as date2_0_0_, this_.name as name0_0_, this_.salary as salary0_0_ from employee this_ where this_.emp_id=? 1 Mandy 20000 2010-03-12 00:00:00.0
Description: You can use restrictions in criteria to display record under any condition.Here we added condition on id as -
criteria=session.createCriteria(Employee.class).add(Restrictions.eq("id", 1));