Подтвердить что ты не робот

Ограничения между датами в спящих критериях

Здравствуйте, я использую hibernate в моем примере. Для bean Проверка аудита таблицы. Я хочу получить проверку аудита между диапазоном дат с включением верхних и нижних пределов. Мой код выглядит ниже

Criteria criteria = session.createCriteria(AuditTrail.class);

criteria.add(Restrictions.between("auditDate", sDate, eDate));

Моя начальная дата 25/11/2010. и дата окончания - 25/05/2011. Но это только результат до 24/05/2011. Он не выполняет включительный поиск. Любой другой способ сделать это. Я использую SQL-сервер.

4b9b3361

Ответ 1

Я предполагаю, что ваш auditDate на самом деле является меткой времени. Если это так, то это нормально, потому что 25/05/2011 означает 25/05/2011 в 0 часов (утром). Поэтому, конечно, каждая строка, имеющая отметку времени аудита в дате 25/05/2011, находится после 0 часов утра.

Я бы добавил 1 день до даты окончания и использовал auditDate >= sDate and auditDate < eDate.

criteria.add(Restrictions.ge("auditDate", sDate)); 
criteria.add(Restrictions.lt("auditDate", eDate));

Ответ 2

criteria.add(Restrictions.between("DATE(auditDate)", sDate, eDate)); используйте это для игнорирования времени с даты.

Ответ 3

 criteria.add(Restrictions.ge("fromDate", DateUtil.persianToGregorian(currentDate)));
 criteria.add(Restrictions.le("toDate",  DateUtil.persianToGregorian(currentDate)));

 return criteria.list();

Ответ 4

добавить еще один день до даты окончания

 @Autowired
 private SessionFactory sessionFactory;

 String startDate = "2019-07-31 ";
 String endDate = "2019-08-24 ";

 Date fromDate = format.parse(fromDate);

 /* Add one more day to the end date*/

 Date to =format.parse(endDate);
 Calendar today = Calendar.getInstance();
 today.setTime(dateto);
 today.add(Calendar.DAY_OF_YEAR, 1);

 Date toDate= format.parse(format.format(today.getTime()));

 Criteria crit = sessionFactory.getCurrentSession().createCriteria(model.class);
 crit.add(Restrictions.between("dateFieldName", fromDate, toDate));
 List result = crit.list();