亲爱的,
我正在使用Spring Data,实体将创建日期保存为datetime,在存储库中是这样的:
@Query(value="SELECT t FROM MyEntity t WHERE t.createdDate Between ?1 and ?2")
public List<MyEntity> findAllBetweenDates(Calendar from, Calendar to);
所以我不能使用:
setParameter(1,new Date(), TemporalType.DATE
在后端的bean中,我使用以下代码:
//to set zero of hours,minutes,seconds and milliseconds
fromCalendar.set(java.util.Calendar.HOUR, 0);
fromCalendar.set(java.util.Calendar.MINUTE, 0);
fromCalendar.set(java.util.Calendar.SECOND, 0);
fromCalendar.set(java.util.Calendar.MILLISECOND, 0);
toCalendar.set(java.util.Calendar.HOUR, 0);
toCalendar.set(java.util.Calendar.MINUTE, 0);
toCalendar.set(java.util.Calendar.SECOND, 0);
toCalendar.set(java.util.Calendar.MILLISECOND, 0);
// add 1 days and decrease 1 millisecond
toCalendar.add(java.util.Calendar.DAY_OF_MONTH, 1);
toCalendar.add(java.util.Calendar.MILLISECOND, -1);
allEntities = myEntityRepository.findAllBetweenDates(fromCalendar, toCalendar);
}
它正常工作。
@PrePersist
或@PreUpdate
? - Shervin Asgari@PrePersist
或者@PreUpdate
中执行查询。查询是 JPA 实体类(SomeClass
)上的命名查询。 - bguiz