简体   繁体   English

在hibernate和mysql中映射日期

[英]mapping dates in hibernate and mysql

We have an app in which we are using hibernate with mysql db. 我们有一个应用程序,其中我们将休眠与mysql db一起使用。

We have a db script import.sql which have some insert into statements and we also have some date fields in db like start_date end_date in which we are string dates in default format, that is,YYYY-MM-DD. 我们有一个数据库脚本import.sql,它在语句中有一些插入,并且在数据库中也有一些日期字段,例如start_date end_date,其中我们是默认格式的字符串日期,即​​YYYY-MM-DD。

Now issue is at the time of retrieving/comparing dates hibernates showing strange behaviour for example suppose if we have a date 2012-01-30 then hibernate reads in proper format that is, Jan 30 2012, but if we have a date like 2012-02-06 then hibernate reads as June 02 2012. my DAO for comparing and retrieving result is as follows 现在的问题是在检索/比较日期时,休眠状态显示出奇怪的行为,例如,假设我们有一个日期2012-01-30,则休眠状态会以正确的格式读取,即2012年1月30日,但是如果我们有一个类似2012-然后02-06冬眠读为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;
}

Any idea what I am doing wrong? 知道我在做什么错吗?

without detailed code explanation guessing what may be the problem is very hard through i guess it may be because of java.util.Date try to use java.sql.Date as when you call methods/constructors of libraries that deal with database better to use wrapper of java.util.Date which is java.sql.Date. 没有详细的代码解释,我很难猜测可能是什么问题,这可能是因为java.util.Date尝试使用java.sql.Date因为当您调用更好地使用数据库处理数据库的方法/构造函数时java.util.Date的包装,它是java.sql.Date。

refer http://www.theresearchkitchen.com/archives/58 请参阅http://www.theresearchkitchen.com/archives/58

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM