HQL语句问题,大家帮忙看下 啊

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:19:02
public List<PostWrite> selpostWrite(int postInfoId,Map map) {
String str=" where 1=1 ";
String s=String.valueOf(postInfoId);
postInfoId=Integer.parseInt( SysFunction.showstr(s));
if(!"".equals(postInfoId)){
PostInfo postInfo=(PostInfo)this.hdao.get(PostInfo.class, postInfoId);
map.put("postInfo",postInfo);
str+=" and postInfo=:postInfo ";
}
try{
//PostInfo postInfo=(PostInfo)this.hdao.get(PostInfo.class, postInfoId);
//map=new HashMap();
//map.put("postInfo",postInfo);
String HQL="from PostWrite "+str+" order by inTime desc ";
List<PostWrite> list= this.hdao.query(HQL, map);
return list;
}catch(Exception e){
e.printStackTrace();
log.info("根据postInfoid查询表postWrite出错");
return null;
}
}
PostInfoid是表postWrite的外键,我是根据Po

PostInfo postInfo=(PostInfo)this.hdao.get(PostInfo.class, postInfoId);
debug一下看你这句查出来了什么东西,估计postInfo有问题的。

map.put("postInfo",postInfo);
str+=" and postInfo=:postInfo ";

这两句之间加下log,看看是否有值