Hibernate HQL比较日期

Hibernate HQL比较日期,hibernate,hql,Hibernate,Hql,我有以下疑问: StringBuilder sb = new StringBuilder("select e from Event e"); sb.append(" where e.user = :user and e.activated = true and e.startDate <= :date and uc.endDate >= :date"); Query query = this.getEntityManager().createQuery(sb.

我有以下疑问:

    StringBuilder sb = new StringBuilder("select e from Event e");
    sb.append(" where e.user = :user and e.activated = true and e.startDate <= :date and uc.endDate >= :date");
    Query query = this.getEntityManager().createQuery(sb.toString());
    query.setParameter("user", user);
    query.setParameter("date", date);
StringBuilder sb=新建StringBuilder(“从事件e中选择e”);
sb.append(“其中e.user=:user和e.activated=true,e.startDate=:date”);
Query Query=this.getEntityManager().createQuery(sb.toString());
query.setParameter(“用户”,用户);
query.setParameter(“日期”,日期);
其中date是标准的java日期对象,startDate是Postgresql日期,没有时间(例如,在数据库中,它们看起来像“2014-04-03”)

但我发现,如果提供的日期参数与startDate列的日期相同,则找不到匹配项。我认为“=”在“签出中,使用正确的方法,而不是
Query.setParameter()

如下所示:-

Query q = em.createQuery("select o from LoadFileHistory o where o.finishDate > :today ");
q.setParameter("today",todaysDateObject,TemporalType.DATE);
q.getResultList();


select o from Operation o
where o.merchantId = :merchantId
and o.captureLimitDate < :maxDateTime
query.setParameter("maxDateTime", maxDateTime, TemporalType.TIMESTAMP);
Query q=em.createQuery(“从LoadFileHistory o中选择o,其中o.finishDate>:今天”);
q、 setParameter(“今天”,todaysDateObject,TemporalType.DATE);
q、 getResultList();
从操作o中选择o
其中o.merchantId=:merchantId
和o.captureLimitDate<:maxDateTime
setParameter(“maxDateTime”,maxDateTime,TemporalType.TIMESTAMP);

对不起,我应该提到,我使用的是JPA,所以它的javax.persistence.Query不是org.hibernate.Query,所以我不能使用这些方法!对不起,伙计们,这个问题实际上是另一个问题……我在这里发布了一个新问题