如何使用DetachedCriteria查询集合,并以对象中的一对多的集合元素个数降序排序

xianyi000 2009-06-16 10:15:20

//这是商品表实体;
public class Goods implements java.io.Serializable {

// Fields

private Long goodsId;
private Set bids = new HashSet(0);//这是商品拍卖信息集合;
................
}

//这是拍卖信息实体;
public class Bid implements java.io.Serializable {

// Fields

private Long bidId;
private Goods goods;
}


我使用的是继承自HibernateDaoSupport的DAO类;
要查询Goods表中bids集合元素最多的几个商品;
也就是查询出拍卖次数最多的几个商品;
哪个给个解决方案,最好是有代码....帮我解决100分送上;
...全文
535 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinhu885 2009-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Johnson_Hong 的回复:]
本地sql
select g.id,count(*) from goods g left join bid b on goods.id=b.good_id group by g.id order by count(*) desc
[/Quote]
支持这层楼
不过要把 order by 后面的 count(*)换成某个列名
qq707472 2009-06-17
  • 打赏
  • 举报
回复
HQL 和 sql 都行啊·何必呢
zmbysj 2009-06-17
  • 打赏
  • 举报
回复
顶楼上的
xianyi000 2009-06-17
  • 打赏
  • 举报
回复
晕了....我只用Hql实现了这个功能,criteria不知道怎么搞哪个会啊...因为我想把几个条件查询goods的方法一起处理啊

这是我的代码

public List<Goods> getGoodsList(Goods condition, Integer pageNum,
Integer pageSize, boolean isHot) {
DetachedCriteria dc = DetachedCriteria.forClass(Goods.class);
dc.add(Example.create(condition).enableLike());
dc.setFetchMode("bids", FetchMode.EAGER);

if (isHot) {//isHot是否热拍商品
//这个地方的代码哪个会啊

}
List<Goods> list = null;
if (pageSize != null && pageNum != null) {
int fromIndex = pageSize * (pageNum - 1);
list = this.getHibernateTemplate().findByCriteria(dc, fromIndex,
pageSize);
} else {
list = this.getHibernateTemplate().findByCriteria(dc);
}
return list;
}
xianyi000 2009-06-16
  • 打赏
  • 举报
回复
兄弟们,我想查询出拍卖次数最多的几个商品; 得到的是商品goodslist,把bids一起查询出来,这应该是用criteria来查比较好吧,
哪个知道怎么查哦.....
Johnson_Hong 2009-06-16
  • 打赏
  • 举报
回复
本地sql
select g.id,count(*) from goods g left join bid b on goods.id=b.good_id group by g.id order by count(*) desc
xfzhuhan 2009-06-16
  • 打赏
  • 举报
回复
hql
shuai45 2009-06-16
  • 打赏
  • 举报
回复
用原生sql
money8899 2009-06-16
  • 打赏
  • 举报
回复
up
Johnson_Hong 2009-06-16
  • 打赏
  • 举报
回复
为什么一定要用criteria,criteria对于统计查询支持有限,不知道这个功能能否用criteria实现,就算可以实现,可读性也不好

81,094

社区成员

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

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