读书人

HQL 怎么消除重复项

发布时间: 2012-02-27 10:00:22 作者: rapoo

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 ..."; 

读书人网 >J2EE开发

热点推荐