2017-07-24 28 views
0
users = (List<User>) currentSession.getCurrentSession().createQuery("FROM User as u " 
      + " LEFT JOIN FETCH u.tests as p" 
      +" WHERE u.registrationDate BETWEEN " 
      +"':tenDaysBeforeDate' AND ':currDate' " 
      +"ORDER BY u.registrationDate DESC").setParameter("tenDaysBeforeDate", tenDaysBeforeDate).setParameter("currDate", currDate).list(); 

什么是缺失?这两个我想设置的参数是字符串类型,请帮助...Hibernate HQL找不到指定参数

回答

2

尝试在你的paramater

users = (List<User>) currentSession.getCurrentSession().createQuery("FROM User as u " 
     + "LEFT JOIN FETCH u.patients as p " 
     +"WHERE u.registrationDate BETWEEN " 
     +":tenDaysBeforeDate AND :currDate " 
     +"ORDER BY u.registrationDate DESC").setParameter("tenDaysBeforeDate", tenDaysBeforeDate).setParameter("currDate", currDate).list(); 
+0

没有消除单引号,它会给ClassCastException异常。 – newBee

+0

@Jayesh我认为它返回列表而不是列表这就是为什么你得到classCastException。确保先尝试调试它 –