使用Hibernate我想从Contract表中获取客户ID,其中入场日期在一个范围内(两个日期之间)。
List clients = session.createQuery("from Contract contract where contrat.datesouscription BETWEEN "+ begindate+" and "+endate).list();
我的查询不起作用。 感谢
答案 0 :(得分:1)
您的日期需要报价
List clients = session.createQuery("from Contract contract where contrat.datesouscription BETWEEN '"+begindate+"' and '"+endate+"'").list();
答案 1 :(得分:1)
尝试使用参数进行此查询,因为出于安全原因,不推荐通过串联建立查询(打开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();
看看这些examples。