我们有一个应用程序,我们正在使用hibernate和mysql db。
我们有一个db脚本import.sql,它有一些insert into语句,我们在db中也有一些日期字段,比如start_date end_date,其中我们是默认格式的字符串日期,即YYYY-MM-DD。
现在问题是在检索/比较日期休眠时显示奇怪的行为,例如假设我们有一个日期2012-01-30然后hibernate以适当的格式读取,即2012年1月30日,但是如果我们有一个日期喜欢2012-02-06然后hibernate读取2012年6月2日。我的DAO用于比较和检索结果如下
public final List<Record> getPastRecords(final java.util.Date currentDate) {
List<Record> pastRecord = session.createCriteria(Record.class)
.add(Restrictions.lt("endTime", currentDate))
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
return pastRecord;
}
知道我做错了吗?
答案 0 :(得分:0)
java.util.Date
尝试使用java.sql.Date
,因为当您调用处理数据库的库的方法/构造函数时,最好使用java.util.Date的包装器,即java.sql.Date。 / p>