此查询在所有情况下都可以正常工作例如 StartDate 2017-04-17 09:00:00和endDate 2017-04-17 10:00:00它会采用它是正确的,如果v输入StartDate 2017-04-17 09:05:00和endDate 2017-04-17 09:50:00它不会允许它的正确,但如果我输入的时间StartDate 2017-04-17 10: 30:00日期和结束日期2017年4月17日011:30:00就应该被允许随着时间只有9到10中存在,而不是10.30至9.30因此,如何让这个 输入如何检查休眠时间
Query query = session.createQuery("from TableDTO where cName =? and ((date(startDate) between date(:std) AND date(:etd))AND (HOUR (startDate) BETWEEN :stDate AND :edDate))or((date(endDate) between date(:std) AND date(:etd))AND(HOUR (endDate) BETWEEN :stDate AND :edDate))");
query.setParameter(0, timeTableDTO.getClassName());
query.setParameter("std", timeTableDTO.getStartDate());
query.setParameter("etd", timeTableDTO.getEndDate());
query.setParameter("stDate", starthr);
query.setParameter("edDate", endthr);
感谢乌拉圭回合的答案我会在这里尝试 – priyadarshini