在hibernate和mysql中映射日期

时间:2012-02-07 08:49:38

标签: java mysql hibernate

我们有一个应用程序,我们正在使用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;
}

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

没有详细的代码说明猜测可能是什么问题是非常难以通过我的猜测 可能是因为java.util.Date尝试使用java.sql.Date,因为当您调用处理数据库的库的方法/构造函数时,最好使用java.util.Date的包装器,即java.sql.Date。 / p>

参考http://www.theresearchkitchen.com/archives/58