问题描述
现在有这么一个需求 用户工作记录的统计:我通过 hibernate 查询一个人 一次工作 同行的人的名字, 我首先通过hibernate 用这个人的名字 连接2个表(一个是人员表一个是工作表)通过名字去 找到他们工作 时间。然后 通过时间去查找同行人的名字 ,结果返回的结果为null 连自己都找不到,第一次查询 hql:select new map(pub.vcName as vcName,tsp.addTime as addTime,tsp.shebeiId as shebeiId,tsp.personButton as button,tsp.begTime as begtime,tsp.endTime as endtime,tsp.endTime-tsp.begTime as durtime,tc.vcName as cjname,tg.vcName as gqame) from "+ sqlfrom+ ",TShebeiPerson as tsp where tsp.personId=pub.vcId and tsp.personId=:personId "+ dwid + beg + end + " order by tsp.begTime desc";打印输出结果有 addTime 这样: 2013-02-20 10:01:02.0 (有时分秒)第二次查询hql:from TShebeiPerson as tsp where tsp.addTime = :addTime"结果返回结果为空。
解决方案
可以用类似这样的where to_char(tsp.addTime,"yyyy-MM-dd HH:mm:ss") = :addTime"
解决方案二:
请问addTime属性是什么类型?看第一个查询得到的结果'addTime',说明数据库中的字段应该是DATE,是吗?