Поскольку cdate имеет тип метки времени, он состоит из даты + времени, и вы пытаетесь сравнить по части даты только с равенством.
Попробуйте что-то вроде этого:
Query q=con.createQuery("FROM "+a+" WHERE DATE(cdate)=DATE("+c+")");
РЕДАКТИРОВАТЬ: Чтобы сравнение работало, значения c и cdate должны быть в одном формате.Для этого запрос может быть изменен следующим образом:
Query q=con.createQuery("FROM "+a+" WHERE DATE_FORMAT(DATE(cdate),'%Y-%m-%d')="+c);
Здесь c должен иметь формат: 'гггг-мм-дд', например, '2019-01-19'
DATE_FORMAT преобразует полученную дату в желаемый формат как строковое значение, и теперь сравнение с 'c' должно остаться в силе.