gpt4 book ai didi

java - Hibernate 查询在忽略年份的日期获取记录

转载 作者:行者123 更新时间:2023-11-29 00:04:03 24 4
gpt4 key购买 nike

我想获取所有匹配今天日期但忽略年份的记录数据库中的日期就像这样 1980-11-14。只想获取比较月份和日期而不是年份的记录。我尝试使用 Criteria 但它不起作用。这是我的代码。

Date date = new Date(); // your date
Calendar 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();

最佳答案

我使用命名查询并使用“EXTRACT”,

在这个生日示例中:

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

关于java - Hibernate 查询在忽略年份的日期获取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28365693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com