JPA 查询值替换问题???

JuneHer 2014-10-16 10:45:43
JPA查询时将值为空的字段的值改为0,就像mysql的ifnull函数一样,请问在Java中查询语句怎么写??求大神帮忙!!谢谢!
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
JuneHer 2014-10-16
  • 打赏
  • 举报
回复
谢谢 ohogogo ! 在 modul 中对字段赋了一个初始值。已解决。
ps低音炮 2014-10-16
  • 打赏
  • 举报
回复
private String id = "";
ps低音炮 2014-10-16
  • 打赏
  • 举报
回复
给model 对应的字符赋个初始值试试。
JuneHer 2014-10-16
  • 打赏
  • 举报
回复
queryStr.append("select new com.ewayit.model.Attrecord(p.id, p.attendanceDate, p.officetime_desc, p.closetime,") .append(" p.officetime, p.closetime_desc, p.latetime, p.earlytime, p.overtime, p.absenttime, p.holidays,") .append(" p.holiday, r.id, isnull(p.officeTimeType.id, 0) as officetime_id, isnull(p.closeTimeType.id, 0) as closetime_id, r.name, r.att_state, r.enNo)") .append(" from com.ewayit.model.Attendance p, com.ewayit.model.Record r where p.record.id = r.id"); 这是我的查询语句,但是出现的时候报了空指针异常。如果我去掉查询中的 isnull 函数的时候,查询没有问题。 我想把 p.officeTimeType.id 值为 null ,替换成 0。 求大神帮忙!!
JuneHer 2014-10-16
  • 打赏
  • 举报
回复
p.officeTimeType.id 所对应的是一个外键,数据类型是Integer,在Attrecord中的它的数据类型是int,在数据库主表中该字段有部分值是 null,查询的时候报如下错误: org.hibernate.QueryException: could not instantiate class [com.ewayit.model.Attrecord] from tuple; 所以我想在查询语句中对该字段为 null 值做个替换,替换为0。
JuneHer 2014-10-16
  • 打赏
  • 举报
回复
看错了! 还是不可以。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧