С помощью Hibernate я хочу получить идентификатор клиента из таблицы контрактов, где дата приема находится в диапазоне (между двумя датами).
List clients = session.createQuery("from Contract contract where contrat.datesouscription BETWEEN "+ begindate+" and "+endate).list();
мой запрос не работает. благодаря
Вам нужны цитаты вокруг ваших дат
List clients = session.createQuery("from Contract contract where contrat.datesouscription BETWEEN '"+begindate+"' and '"+endate+"'").list();
Попробуйте этот запрос с параметрами, так как запросы по конкатенации не рекомендуется по соображениям безопасности (открывает код для SQL-инъекций):
String hql = "from Contract contract where contrat.datesouscription BETWEEN :beginDate and :endDate";
List result = session.createQuery(hql)
.setParameter("beginDate", begindate)
.setParameter("endDate", enddate)
.list();
Взгляните на эти примеры.