Criteria Queries : Equal (eq), Not Equal(ne), Less than (lt), Less than or equal(le), greater than (gt),greater than or equal(ge) and Ordering the results
The interface org.hibernate.Criteria represents a query against a particular persistent class.
The Session is a factory for Criteria instances. In this section it show how to create TABLE and POJO Java class and Mapping with the Query.
Create TABLE EMPLOYEE.
Create TABLE EMPLOYEE(
id number;
name varchar;
age number;
);
Create Employee.java bean class.
Hibernate uses the Plain Old Java Objects (POJOs) classes to map to the database table (Emp.java to EMPLOYEE TABLE). We can configure the variables to map to the database column.
public class Employee {
private long id;
private String name;
private int age;
public long getId() {
return id;
}
private void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
private void setAge(int age) {
this.age = age;
}
}
Employee.hbm.xml - This mapps EMPLOYEE TABLE and Emp.java
// SELECT * FROM EMPLOYEE WHERE AGE=24; ----SQL COMMAND
criteria query for above query is :
List empList = session.createCriteria(Employee.class).add( Restrictions.eq("age", new Integer(24) ) ).list();
NotEqual (ne)
NotEqual (ne) : Is used to check not equal in the query.
// SELECT * FROM EMPLOYEE WHERE AGE !=24; ----SQL COMMAND
// Not Equal in hibernate criteria
criteria query for above query is :
List empList = session.createCriteria(Employee.class).add( Restrictions.ne("age", new Integer(24) ) ).list();
Less than (lt)
Less than (lt) : Is used to check less than in the query.
// SELECT * FROM EMPLOYEE WHERE AGE < 24; ----SQL COMMAND
// Not Equal in hibernate criteria
criteria query for above query is :
List empList = session.createCriteria(Employee.class).add( Restrictions.lt("age", new Integer(24) ) ).list();
Less than or equal(le)
Less than or equal(le) : Is used to check less than or equal in the query.
// SELECT * FROM EMPLOYEE WHERE AGE <= 24; ----SQL COMMAND
// Not Equal in hibernate criteria
criteria query for above query is :
List empList = session.createCriteria(Employee.class).add( Restrictions.le("age", new Integer(24) ) ).list();
Greater than (gt)
Greater than (gt) : Is used to check greater than in the query.
// SELECT * FROM EMPLOYEE WHERE AGE > 24; ----SQL COMMAND
// Not Equal in hibernate criteria
criteria query for above query is :
List empList = session.createCriteria(Employee.class).add( Restrictions.gt("age", new Integer(24) ) ).list();
Greater than or equal (gt)
Greater than or equal (gt) : Is used to check greater than or equal in the query.
// SELECT * FROM EMPLOYEE WHERE AGE >= 24; ----SQL COMMAND
// Not Equal in hibernate criteria
criteria query for above query is :
List empList = session.createCriteria(Employee.class).add( Restrictions.ge("age", new Integer(24) ) ).list();
Ordering the results
// SELECT * FROM EMPLOYEE WHERE AGE=24 ORDER BY NAME DESC; ----SQL COMMAND
criteria query for above query is :
List empList = session.createCriteria(Employee.class).
add( Restrictions.eq("age", new Integer(24) ) ).addOrder( Order.desc("name") ).list();