[英]How to set datetime field in MySql using hql
我在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();
尝试使用以下内容。
.setTimestamp("startTime", startTime);
在这里,我特意尝试使用simpleDateFormat格式化日期对象,然后再将其传递给hibernate。 检查这是否有效。
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();
如果使用setParameter()
而不是setDate()
它对我setParameter()
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.