Multiple Projections



Configuration configurationObj = new Configuration();
configurationObj.configure("hibernate.cfg.xml");
SessionFactory sessionFactoryObj = configurationObj.buildSessionFactory();
Session sessionObj = sessionFactoryObj.openSession();

Criteria criteriaObj = sessionObj.createCriteria(Entity.class);
criteriaObj.addOrder(Order.desc("id"));

ProjectionList projList = Projections.projectionList();
projList.add(Projections.property("id"));
projList.add(Projections.property("category"));
criteriaObj.setProjection(projList);

List entityList = criteriaObj.list();
Iterator iteratorObj = entityList.iterator();

System.out.println("ID \t CATEGORY ");
System.out.println("^^^^^^^^^^^^^^^^^^^^");

while(iteratorObj.hasNext()){
       Object data[] = (Object[])iteratorObj.next();
       System.out.println(data[0]+" \t "+data[1]);
}
System.out.println("^^^^^^^^^^^^^^^^^^^^");

sessionObj.close();
sessionFactoryObj.close();