首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

HQL 怎么消除重复项

2012-02-27 
HQL 如何消除重复项Java codepublic pageBean seachProductByBrank(int pageSize, int currentLPage,Strin

HQL 如何消除重复项

Java code
public pageBean seachProductByBrank(int pageSize, int currentLPage,            String product_Brank, String product_itemName) {        final String hql = "from " + OgrilProducts.class.getName()                + " where product_Brank='" + product_Brank                + "' and product_itemName='" + product_itemName                + "' order by product_registerDate desc";        int allRow = this.getAllRowCount(hql);// 总记录数        int totalPage = pageBean.countTotalpage(pageSize, allRow);// 总页数        final int offset = pageBean.countOffset(pageSize, currentLPage);// 当前页开始记录        final int length = pageSize;        final int currentPage = pageBean.countCurrentPage(currentLPage);        List list = this.queryForPage(hql, offset, length);// 记录        // 把分页信息保存到Bean中        pageBean pagebean = new pageBean();        pagebean.setPageSize(pageSize);        pagebean.setCurrentPage(currentPage);        pagebean.setAllRow(allRow);        pagebean.setTotalPage(totalPage);        pagebean.setList(list);        return pagebean;    }

以上是查询分页的具体代码。 HQL 如何消除重复项?

[解决办法]
重写equals?
[解决办法]
group by
[解决办法]
重写equals和hashCode
[解决办法]
探讨

因为查询出来的数据有好多都是重复的。 因为同一个货号可能有两到三个商品。怎么样可以让它查询的时候就把相同货号的只让他显示一条。?

[解决办法]
Java code
 List list = this.queryForPage(hql, offset, length);// 记录
[解决办法]
用DISTINCT可以解決大部份問題
Java code
String hql = "select distinct(obj.number),obj.a,obj.b from Object obj where ..."; 

热点排行