日期:2014-05-19  浏览次数:20861 次

hibernate返回Map的问题

public Map getUserQuery(Session session , Long userId ,Long companyId)throws Exception{
StringBuffer sql = new StringBuffer()
.append(" select id \"id\",company_id \"companyId\",user_id \"userId\",create_date \"createDate\",mail_sent \"mailSent\", ")
.append(" mail_open \"mailOpen\",result \"result\",last_date \"lastDate\",del_flag \"delFlag\" ")
.append(" from r3_user_query uq where uq.user_id = :userId and uq.company_id = :companyId ");

Query query = session.createSQLQuery(sql.toString());
query.setParameter("userId", userId).setParameter("companyId", companyId);

return (Map)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).uniqueResult();
}


代码如上,我现在查询一条记录,里面的create_date字段的值是:2009-10-10 10:05:23 ,也就是说时间是精确到秒的。
当我执行上面的方法时,map里面取到的值是2009-10-10  ,具体的时分秒 都没有了。
如何解决。
我只想返回map然后让这个字段的时间还是具体到时分秒,不想返回 Object 或者数组。
能办到吗?
请教各位达人。
------最佳解决方案--------------------
把日期格式转换为 yyyy-MM-DD hh:mi:ss
------其他解决方案--------------------
xml配置文件:

    把date类型换成timestamp

    <property name="creationTime" type="timestamp">
------其他解决方案--------------------
引用:
xml配置文件:

  把date类型换成timestamp

  <property name="creationTime" type="timestamp">


不相信这个不好使!
------其他解决方案--------------------
引用:
解决了 !
楼上的方法不对、
谁第一个回答正确 分给谁哈!

lz的意思是回答得要和他想的解决方法一样才行呀
------其他解决方案--------------------
Mapping
------其他解决方案--------------------
解决了 !
楼上的方法不对、
谁第一个回答正确 分给谁哈!
------其他解决方案--------------------
是我没有描述清楚吗。。。
------其他解决方案--------------------
to_char(sysdate,'yyyy-MM-dd HH24:mi:ss')
------其他解决方案--------------------
to_char(create_date,'yyyy-MM-dd HH24:mi:ss')
------其他解决方案--------------------

xml里面没有试。。。


------其他解决方案--------------------
lz把解决办法贴一下啊~ 谢谢。