List<Clerk> birthdayClerkList = null;
try{
String hql = "from Clerk cle where DATE_FORMAT(cle.birthday,'%m%d') >= " +
"DATE_FORMAT(NOW() ,'%m%d') and DATE_FORMAT(cle.birthday,'%m%d')" +
" <= DATE_FORMAT(DATE_ADD(NOW(),Interval 7 DAY) ,'%m%d')";
//Query query = getSession().createSQLQuery(hql,"cle",Clerk.class);
Query query = getSession().createSQLQuery(hql);
//Query query = getSession().createQuery(hql);
birthdayClerkList = query.list();
//birthdayClerkList = this.find(hql);
}catch (DataAccessException e) {
log.error("Error in getAllBirthdayClerkList.", e);
throw new DaoException("Error in getAllBirthdayClerkList.", e);
}
=============================================================
org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 7 near line 1, column 187 [from com.foundersoftware.ehr.object.hr.Clerk cle where DATE_FORMAT(birthday,'%m%d') >= DATE_FORMAT(NOW() ,'%m%d') and DATE_FORMAT(birthday,'%m%d') <= DATE_FORMAT(DATE_ADD(NOW(),Interval 7 DAY) ,'%m%d')]; nested exception is org.hibernate.hql.ast.QuerySyntaxError: unexpected token: 7 near line 1
报错的大概意思是语法错误
这个问题出在哪?是不是mysql中sql转换成hibernate中hql文的问题,特别是DATE_FORMAT在hibernate中不可使用?