package roseindia.tutorial.hibernate;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Expression;

public class HibernateCriteriaQueryExpressionEq {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Session sess = null;
		try{
			SessionFactory fact = new Configuration().configure().buildSessionFactory();
			sess = fact.openSession();
			Criteria crit = sess.createCriteria(Insurance.class);
			DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		    Date date = (Date)format.parse("2005-01-01 00:00:00");
			crit.add(Expression.eq("investementDate",date));
			List list = crit.list();
			for(Iterator it = list.iterator();it.hasNext();){
				Insurance ins = (Insurance)it.next();
				System.out.println("Id: " + ins.getLngInsuranceId());
				System.out.println("Insurance Name: " + ins.getInsuranceName());
				System.out.println("Insurance Amount: " + ins.getInvestementAmount());
				System.out.println("Investement Date: " + ins.getInvestementDate());
			}
			sess.clear();
		}
		catch(Exception e){
			System.out.println(e.getMessage());
		}
	}
}
