获取有一个范围内的入学日期的记录

时间:2014-03-16 22:23:32

标签: java sql hibernate

使用Hibernate我想从Contract表中获取客户ID,其中入场日期在一个范围内(两个日期之间)。

List clients =  session.createQuery("from Contract contract where contrat.datesouscription BETWEEN "+ begindate+" and "+endate).list();

我的查询不起作用。 感谢

2 个答案:

答案 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