Here is my code.
@RequestMapping("/datatable")
@ResponseBody
public DataTablesOutput<Person> listPersons(DataTablesInput input, HttpSession session,
HttpServletRequest request, @RequestParam Map<String, String> allRequestParams) {
// create specification
Specification<Person> specification = new Specification<Person>() {
@Override
public Predicate toPredicate(Root<Person> root, CriteriaQuery<?> query,
CriteriaBuilder criteriaBuilder) {
// define predicates
List<Predicate> predicates = new ArrayList<Predicate>();
// PREDICATE TO GET RECORD OF SPECIFIC MONTH FOR EXAMPLE IF I PASS BIRTH MONTH LIKE '05'
// IT WILL RETURN ALL THE BIRTHDATE RECORD OF 'MAY' MONTH
return criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()]));
}
};
DataTablesOutput<Person> persons = employeeMasterService.findAll(input, specification);
return persons;
}
If I pass the month number for example '05'. It should return all the record of 'May' month of database. I am new in criteria query so please help me.