MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » org.hibernate.QueryException:   could  

org.hibernate.QueryException:   could   not   resolve  

www.MyException.Cn  网友分享于:2013-11-27  浏览:1103次
问HIBERNATE一句查询语句
搜索PO出错
主表对BIDDINGRESULTS是一对多,BIDDINGRESULT对MATERIALDETAIL是多对一,INTRO是MATERIALDETAIL一个字段,查询语句怎么写
搜索条件:
//物料编号
if   (StringUtil.isNotEmpty(materialSN))   {

// BiddingResult   biddingResult=facade.getMaterialDetailService().getResult(materialSN);
hqlParamsMap.put( "materialSN ",   materialSN);
hqlBuf.append( "   and   p.biddingResults.materialDetail.intro   =:materialSN ");
}

org.hibernate.QueryException:   could   not   resolve   property:   intro   of:   net.jite.sdzbgzpt.rubbishprocess.persistence.BiddingResult   [   from   net.jite.sdzbgzpt.purchaserInformation.persistence.PurchaserInformation   p   where   1=1     and   p.biddingResults.materialDetail.intro   =:materialSN]

------解决方案--------------------
p.biddingResults.materialDetail.intro =:materialSN

从这里看你的表间关系有点问题吧;
p----》biddingResults
biddingResults----》materialDetail

首先检查映射是否正确;
再着,根据个人经验,好象hibernate的where语句对3层以上的关联解析存在问题,但在select里面就没问题;有点奇怪,有人解释下么?

你这个问题用left outer join应该就能解决了;

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有