@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编写方法来获取今天生日的所有用户?
答案 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();
如果这不能解决您的问题,请告诉我们,祝您好运!