问题描述
数据库的字段sql查询结果是2013-6-21 0:54:00 但代码返回的是2013-6-21,后面的时分秒无故消失。我的代码:select m_apiendtime from bd_match where m_expect=? and m_apiendtime>sysdate-5/24/60 group by m_apiendtime order by m_apiendtime查询方法public List<Object> executeListRowNumBySql(final String queryString, final int start, final int limit, final Object... values){return getHibernateTemplate().executeFind(new HibernateCallback(){public Object doInHibernate(Session arg0) throws HibernateException, SQLException{Query query = arg0.createSQLQuery(queryString);if (values != null){for (int i = 0; i < values.length; i++){query.setParameter(i, values[i]);}}query.setFirstResult(start);query.setMaxResults(limit);return query.list();}});}实体采用jpa 字段是date类型 oracle字段也是date
解决方案
建议你强制指定 类型:@Temporal(TemporalType.TIMESTAMP) private Date sendDate; 如果不行再探讨JDK BUG吗? 混乱的日期API
解决方案二:
【父类】java.util.Date日期格式为:年月日时分秒 【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据] 【子类】java.sql.Time日期格式为:时分秒 【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)
解决方案三:
是不是java.util.Date和java.sql.Date的区别?