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…)