How to compare dates in hibernate

后端 未结 8 699
予麋鹿
予麋鹿 2020-12-10 11:39

In my Data base dates are as 2012-04-09 04:02:53 2012-04-09 04:04:51 2012-04-08 04:04:51, etc, I need to retrieve data which have curr

8条回答
  •  攒了一身酷
    2020-12-10 12:30

    How-to do it in Hibernate has already been said. You can prepare the Timestamp objects in the Java code using, for example, the following aproach:

    Calendar cFrom = Calendar.getInstance();
    cFrom.setTime(new Date()); /* today */
    cFrom.set(Calendar.HOUR_OF_DAY, 0);
    cFrom.set(Calendar.MINUTE, 0);
    cFrom.set(Calendar.SECOND, 0);
    cFrom.set(Calendar.MILLISECOND, 0);
    Timestamp from = new Timestamp(cFrom.getTime().getTime());
    Calendar cTo = Calendar.getInstance();
    cTo.setTime(new Date()); /* today */
    cTo.set(Calendar.HOUR_OF_DAY, 23);
    cTo.set(Calendar.MINUTE, 59);
    cTo.set(Calendar.SECOND, 59);
    cTo.set(Calendar.MILLISECOND, 999);
    Timestamp to = new Timestamp(cTo.getTime().getTime());
    
    final String QUERY = ""
      + "SELECT tr "
      + "FROM Type tr "
      + "WHERE tr.timestamp >= :timestampFrom AND tr.timestamp <= :timestampTo";
    Query query = entityManager.createQuery(QUERY);
    query.setParameter("timestampFrom", from);
    query.setParameter("timestampTo", to);
    @SuppressWarnings("unchecked")
    List ts = (List)query.getResultList();
    

提交回复
热议问题