hibernate 一对多 分页 criteria 查询

本文展示了如何在Hibernate中利用Criteria API进行一对多关联查询,并结合分页功能,实现在Web表单中展示商品信息。通过隐藏字段设置排序方式和当前页数,迭代器遍历页面内容,显示商品ID、名称和图片链接。
摘要由CSDN通过智能技术生成
Goods物品表,photo物品照片表,一个物品对应5张照片

双向关联映射已经做好了,查goods的时候用的criteria条件查询

怎么在查 所有的 goods的时候,同时把每个goods对应的一张photo也查出来 ?
贴代码了,太多了,不爱看的不看吧,高手们帮我看一下,我应该怎么写代码,才能在后台和页面取得photoName。
就是html代码部分我要<img src='../images/<s:property value="photos"/>拿到photoName,这里怎么改才能正确显示图片,怎么做呢?
问题已经解决,更新代码了。
html代码

 
 
 
[xhtml] view plain copy
  1. <form id="searchForm" name="searchForm" action="retrieveGoodsAction_retrieveAllGoods">  
  2.             <s:hidden name="frontGoodsQueryCriteria.sortHelper.colIndex" id="index" value="0"></s:hidden>   
  3.             <s:hidden name="frontGoodsQueryCriteria.sortHelper.colName" id="colName" value="goodsId"></s:hidden>  
  4.             <s:hidden name="frontGoodsQueryCriteria.sortHelper.sortedType" id="colType" value="asc"></s:hidden>  
  5. <s:hidden name="page.pageNo" value="1"></s:hidden>  
  6.   
  7. 省略提交按钮  
  8. <s:iterator value="page.content"  id="l">   
  9.                                   
  10.                             <li> 0  
  11.                                 <div class="pro_disp pro_104px">  
  12.                                     <a href='retrieveGoodsAction_retrieveGoodsById?goodsId=<s:property value="goodsId"></a>' target="_blank">  
  13.                                         <img src='../imagesGoods/<s:iterator value="photos"><s:property value="photoName"/></s:iterator>' alt="图片不正确" />  
  14.                                     </a>  
  15.                                 </div>   
  16.                                 <b class="p_overflow">  
  17.                                     <a href='retrieveGoodsAction_retrieveGoodsById?goodsId=<s:property value="goodsId"></a>' target="_blank" title='<s:property value="goodsName"/>'>  
  18.                                         <s:property value="goodsName"/>  
  19.                                     </a>  
  20.                                 </b>   
  21.                           
  22.                               
  23.                             </li>  
  24.                               
  25.                         </s:iterator>  
  26. </form>  
action代码

 
 
 
[java] view plain copy
  1. public class RetrieveGoodsAction extends BaseAction{  
  2.       
  3.     private Integer cateId;  
  4.     private Integer goodsId;  
  5.       
  6.     private List<Goods> lgoods;  
  7.     private Set<Photo> photos = new HashSet<Photo>(0);  
  8.       
  9.       
  10.     // 创建page对象,保存分页信息  
  11.     Page page = new Page();  
  12.     // 创建查询条件,接收页面的adminName,adminDesc,并默认根据adminID排序  
  13.     private GoodsQueryCriteria frontGoodsQueryCriteria=   
  14.         new GoodsQueryCriteria(new SortHelper("goodsId"));//默认排序ID  
  15.     /**  
  16.     * @Title: retrieveAllGoods 
  17.     * @Description: (分页查询所有物品,显示在首页上)  
  18.     * @return String error or success  
  19.     * @throws Exception 
  20.     */  
  21.     public String retrieveAllGoods() throws Exception{  
  22.           
  23.         page = fgmi.goodsInfoByPage(page, frontGoodsQueryCriteria);  
  24.         Iterator itr = page.getContent().iterator();  
  25.         while(itr.hasNext()){  
  26.             Goods goods = (Goods) itr.next();  
  27.             photos = goods.getPhotos();  
  28.             System.out.println( "物品名称:" + goods.getGoodsName());  
  29.             Iterator it = goods.getPhotos().iterator();  
  30.             while(it.hasNext()){  
  31.                 Photo ph =(Photo)it.next();  
  32.                 System.out.println("图片名:" + ph.getPhotoName());  
  33.             }  
  34.             //setPhotos(goods.getPhotos());  
  35.             System.out.println("---------111++++++++==");  
  36.         }  
  37.         if(page != null){         
  38.             return "retrieveSuccess";  
  39.         }  
  40.         return ERROR;  
  41.     }  
  42.       
  43.     public Integer getCateId() {  
  44.         return cateId;  
  45.     }  
  46.     public void setCateId(Integer cateId) {  
  47.         this.cateId = cateId;  
  48.     }  
  49.     public Integer getGoodsId() {  
  50.         return goodsId;  
  51.     }  
  52.     public void setGoodsId(Integer goodsId) {  
  53.         this.goodsId = goodsId;  
  54.     }  
  55.     public List<Goods> getLgoods() {  
  56.         return lgoods;  
  57.     }  
  58.     public void setLgoods(List<Goods> lgoods) {  
  59.         this.lgoods = lgoods;  
  60.     }  
  61.   
  62.     public Page getPage() {  
  63.         return page;  
  64.     }  
  65.   
  66.     public void setPage(Page page) {  
  67.         this.page = page;  
  68.     }  
  69.   
  70.     public GoodsQueryCriteria getFrontGoodsQueryCriteria() {  
  71.         return frontGoodsQueryCriteria;  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值