zoukankan      html  css  js  c++  java
  • hql查询技巧

    要擅于利用对象之间映射的集合去查与其关联的对象,而不是直接在dao层重新写查询的方法,其实,hibernate正是对复杂查询的一种解放,既然有现成的东西,何必再去闭门造车,而且造出来的还是个旧车。

    查询给定目录id下的所有试卷:

    public Pagination getPage(EmPaperCatalogDef pcdId, String sddId, int pageNo, int pageSize) {
            List<EmPaper> list = new ArrayList<EmPaper>();
            getAllSubPaper(list, pcdId);
            if(list.size() > 0){
                List<Long> ids = new ArrayList<Long>();
                for(EmPaper ep : list){
                    ids.add(ep.getTpId());
                }
                return emPaperDao.getSubPapers(ids, sddId, pageNo, pageSize);
            }
            return new Pagination(1, 0, 0, new ArrayList<EmPaper>(0));
        }
        
        public void getAllSubPaper(List<EmPaper> list, EmPaperCatalogDef paperCatalogDef){
            if(paperCatalogDef.getEmPapers()!=null && paperCatalogDef.getEmPapers().size()>0){
                list.addAll(paperCatalogDef.getEmPapers());
            }
            if(paperCatalogDef.getEmPaperCatalogDefs()!= null && paperCatalogDef.getEmPaperCatalogDefs().size()>0){
                for(EmPaperCatalogDef cata : paperCatalogDef.getEmPaperCatalogDefs()){
                    getAllSubPaper(list, cata);
                }
            }
        }

  • 相关阅读:
    [笔记] 《我的第一本c++书》
    [c++] 输入输出
    [c++] STL 标准算法
    [c++] 模板、迭代器、泛型
    [计算机科学] 图灵机
    shell专题(五):运算符
    shell专题(四):Shell中的变量
    shell专题(三):Shell脚本入门
    shell专题(二):Shell解析器
    shell专题(一):Shell概述
  • 原文地址:https://www.cnblogs.com/luoxiaolei/p/4452473.html
Copyright © 2011-2022 走看看