Criteria with different Restrictions
Configuration configurationObj = new Configuration();
configurationObj.configure("hibernate.cfg.xml");
SessionFactory sessionFactoryObj = configurationObj.buildSessionFactory();
Session sessionObj = sessionFactoryObj.openSession();
Criteria criteriaObj = sessionObj.createCriteria(Entity.class);
/* multiple (greater than 1) conditions with AND operator */
//criteriaObj.add(Restrictions.and(Restrictions.like("name","%M%"), Restrictions.gt("id",
new Integer(1))));
//criteriaObj.add(Restrictions.and(Restrictions.like("name","%M%").ignoreCase(),
Restrictions.gt("id", new Integer(1))));
/* multiple (greater than 1) conditions with OR operator */
criteriaObj.add(Restrictions.or(Restrictions.like("name","%i%").ignoreCase(),
Restrictions.gt("id", new Integer(0))));
criteriaObj.addOrder(Order.desc("category"));
List entityList=criteriaObj.list();
Iterator entityListIterator=entityList.iterator();
System.out.println("ID\t NAME \t CATEGORY");
System.out.println("-------------------------");
while(entityListIterator.hasNext()){
Entity entityObj=(Entity)entityListIterator.next();
System.out.print(entityObj.getId());
System.out.print(" \t"+entityObj.getName());
System.out.println(" \t"+entityObj.getCategory());
}
System.out.println("-------------------------");
sessionObj.close();
sessionFactoryObj.close();