在Hibernate中,可以使用HQL(Hibernate Query Language)或Criteria API来比较时间戳字段中的日期。
String hql = "FROM YourEntity WHERE DATE(timestampField) = :date";
Query query = session.createQuery(hql);
query.setParameter("date", yourDate);
List result = query.list();
其中,YourEntity
是你的实体类,timestampField
是时间戳字段,yourDate
是要比较的日期。
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery query = builder.createQuery(YourEntity.class);
Root root = query.from(YourEntity.class);
query.select(root).where(builder.equal(builder.function("DATE", Date.class, root.get("timestampField")), yourDate));
List result = session.createQuery(query).getResultList();
同样,YourEntity
是你的实体类,timestampField
是时间戳字段,yourDate
是要比较的日期。
以上代码示例中,我们使用了HQL的DATE()
函数和Criteria API的builder.function("DATE", Date.class, ...)
来提取时间戳字段的日期部分,并与给定的日期进行比较。