当前位置: 代码迷 >> J2EE >> HQL 怎么消除重复项
  详细解决方案

HQL 怎么消除重复项

热度:242   发布时间:2016-04-22 02:49:32.0
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 ...";
  相关解决方案