Archive for May, 2008

dynamic Hibernate criteria query

1
2
3
Criteria criteria = new GenericDAO(entityManager, utx).getHibernateSession().createCriteria(DateEntry.class)
.createAlias("user", "user")
.createAlias("employee", "employee");

if (employee != null) {
criteria.add(Expression.eq(“employee”, employee));
}
if (customer != null) {
criteria.add(Expression.eq(“user”, customer));
}
if (category != null) {
criteria.createAlias(“categories”, “category”).add(
Expression.eq(“category.id”, category.getId()));
}
if (pending != null && closed != null) {
criteria.add(Expression.eq(“pending”, pending));
criteria.add(Expression.eq(“closed”, closed));
}
if (date != null && dateTo != null) {
criteria.add(Expression.between(“time”, date, dateTo));
}

if (orderParam != null) {
String orderParams[] = orderParam.split(“,”);
(more…)