休眠查询获取日期忽略年的记录

问题描述:

我想获取匹配今日但忽略年的所有记录数据库中的日期是这样的1980-11-14。只想比较每月和每天的记录而不是年份。我试过使用Criteria但它不工作这里是我的代码。 `Date date = new Date(); //您的日期 日历cal = Calendar.getInstance(); cal.setTime(date); int month = cal.get(Calendar.MONTH); int day = cal.get(Calendar.DAY_OF_MONTH);休眠查询获取日期忽略年的记录

Calendar calendar = Calendar.getInstance(); 
    calendar.set(Calendar.MONTH,month); 
    calendar.set(Calendar.DAY_OF_MONTH, day); 

    Calendar fromDate = calendar.getInstance(); 
    calendar.set(Calendar.MONTH,month); 
    calendar.set(Calendar.DAY_OF_MONTH, day); 

    Calendar toDate = calendar.getInstance(); 

    Criteria criteria=session.createCriteria(Add_Follower.class); 
    criteria.add(Restrictions.eq("follow_uInfo.id", uid)); 
    criteria.add(Restrictions.between("following_uInfo.dob",fromDate,toDate)); 
     users=criteria.list();` 
+0

好,ABHI,发生了什么?你有没有得到它的工作? – 2015-02-09 11:17:25

+0

我geting异常org.hibernate.QueryException:无法解析属性:Following_uInfo:com.abhi.model.Add_Follower – 2015-02-09 11:36:41

+0

@MikeNakis我只是想知道设置恒定的一年它怎么会工作我试着给它铸造异常java.util.GregorianCalendar不能转换为java.util.Date。 – 2015-02-09 11:54:05

我有一个命名查询和使用 “提取” 做到了,

在这个例子生日:

SELECT p FROM Person p 
WHERE EXTRACT(DAY FROM p.gebdat) = EXTRACT(DAY FROM NOW()) 
AND EXTRACT(MONTH FROM p.gebdat) = EXTRACT(MONTH FROM NOW()) 
ORDER BY p.nachname, p.vorname