3

我在 MySql DB 中以 YYYY-mm-dd hh:mm:ss 格式插入日期时遇到问题。在 DB 中归档的类型为 datetime。

我尝试过这个 :

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.MINUTE, startMinute);
calendar.set(Calendar.SECOND,01);
Date startTime = calendar.getTime();

String hqlUpdate = "update challenge set start_time = :startTime where challenge_id =  :id";
sessionFactory.getCurrentSession().createSQLQuery(hqlUpdate)
                                 .setDate("startTime", startTime)
                                 .setInteger("id", id).executeUpdate();
4

3 回答 3

3

尝试使用以下内容。

.setTimestamp("startTime", startTime);
于 2016-01-05T08:33:37.040 回答
0

在这里,我专门尝试使用 simpleDateFormat 格式化日期对象,然后再将其传递给休眠状态。检查这是否有效。

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.set(Calendar.MINUTE, startMinute);
calendar.set(Calendar.SECOND,01);
Date startTime = dateFormat.parse(dateFormat.format(calendar.getTime();));

String hqlUpdate = "update challenge set start_time = :startTime where challenge_id =  :id";
sessionFactory.getCurrentSession().createSQLQuery(hqlUpdate)
                             .setDate("startTime", startTime)
                             .setInteger("id", id).executeUpdate();
于 2012-05-08T08:59:05.097 回答
0

setParameter()如果使用而不是setDate()......它对我有用

于 2015-07-14T04:22:16.573 回答