Criteria Queries: And OR conditions
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
This method returns the conjunctions of two expressions. Both conditions are 'true' then it excutes the query otherwise not.
// SELECT * FROM EMPLOYEE WHERE AGE=24 AND AGE=28; ----SQL COMMAND
criteria query for above query is :
List empList = session.createCriteria(Employee.class)
.add( Restrictions.eq("age", new Integer(24) ) )
.add( Restrictions.eq("age", new Integer(28) ) )
.list();
OR Condtion
This method returns the disjuction of two expressions. Any given condition is 'true' then it executes the query. In this tutorial, "or" is used
// SELECT * FROM EMPLOYEE WHERE AGE=24 OR AGE=28; ----SQL COMMAND
criteria query for above query is :
List empList = session.createCriteria(Employee.class)
.add(Expression.or(
Expression.eq("age", new Integer(24) ) ),
Expression.eq("age", new Integer(28) ) ))
.list();