如何使用限制将月/日与没有年份的其他月/日进行比较

时间:2015-11-30 13:29:58

标签: java hibernate

@Entity@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    int userId;

    @NotNull
    @Column(name = "name", nullable = false)
    String name;


    @Temporal(TemporalType.DATE)
    @Column(name = "doa")
    Date doa;
}

我必须要求那些出生日期为今天的用户。

如何使用hibernate Criteria and Restrictions编写方法来获取今天生日的所有用户?

1 个答案:

答案 0 :(得分:0)

首先你需要一个没有时间的日期,你可以轻松地做到这一点:

DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date today = new Date();
Date todayWithZeroTime =formatter.parse(formatter.format(today));

然后您可以将此日期引用到您的条件查询中:

Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("doa", todayWithZeroTime);
List results = criteria.list();

如果这不能解决您的问题,请告诉我们,祝您好运!