<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    從制造到創造
    軟件工程師成長之路
    posts - 292,  comments - 96,  trackbacks - 0
    通過T-SQL,我們左聯(內聯、右連類似)的查詢語法如下:

    -- 通過 InsuredIn 查詢 累計類別 

    select * from ris.re_master as rm left join ris.re_detail as rd on rm.REINSURANCE_NO=rd.REINSURANCE_NO
        
    where rd.INSURED_ID='A120670116'
        
    order by rm.POLICY_NO asc, rm.POLICY_SEQNO asc
        ;


    但是使用 HSQL 查詢數據庫時,我們要改為:

    from ReMaster as rm left join rm.reDetails as rd 


    Hibernate 會自動找相同的鍵,不用on,而且關聯表要寫成:rm.reDetails


    /**
     * description: 通過被保人號碼查詢再保明細
     * 
     * 
    @param insuredId
     *            被保人身份證號 String
     * 
    @return List 結果列表
     * 
    @throws DbAccessException
     *             數據庫異常
     
    */
    public List selectReMasterDetail(String insuredId) 
        
    throws DbAccessException {
        
    if (DEBUGLOG.isDebugEnabled()) {
            DEBUGLOG.debug(
    "[ReDetailDao]"
                    
    + "[Function:selectReMasterDetail][Begin]");
        }
        StringBuffer hqlRd 
    = new StringBuffer();

        hqlRd.append(
    " from ReMaster as rm left join rm.reDetails as rd " +
                
    "where 1=1");

        
    if (insuredId != null) {
            hqlRd.append(
    " and rd.insuredId = '" + insuredId + "'");
        }
        
        hqlRd.append(
    " order by rm.policyNo asc, rm.policySeqno asc");

        
    if (DEBUGLOG.isDebugEnabled()) {
            DEBUGLOG.debug(
    "[ReDetailDao][Function:selectReMasterDetail][End]");
        }
        
        
    return this.createQuery(hqlRd.toString());
    }

    在Service層進行調用:
    // 通過 InsuredId 查詢ReMaster檔和ReDetail檔
    rmdList = rdDao.selectReMasterDetail(iqVo.getInsuredId());

    取List中的對象時用對象數組接,因為返回的是兩個對象:



        Object[] obj = null;
        ReDetail rd 
    = null;
        ReMaster rm 
    = null;
        
    int rmdSize = 0;
        
    if (rmdList != null) {
            rmdSize 
    = rmdList.size();
        }
        
    for (int rmdIndex = 0; rmdIndex < rmdSize; rmdIndex++) {
            obj 
    = new Object[2];
            obj 
    = (Object[])rmdList.get(rmdIndex);
        
            rm 
    = new ReMaster(); // 用於存儲公司別信息
            rd = new ReDetail();
            rm 
    = (ReMaster) (obj[0]);
            rd 
    = (ReDetail) (obj[1]);

    這樣就可以處理得到的ReMaster對象和ReDetail對象了。
    posted on 2007-07-18 11:25 CoderDream 閱讀(2461) 評論(1)  編輯  收藏 所屬分類: 經驗點滴

    FeedBack:
    # re: HSQL 中的左聯查詢
    2009-04-25 10:19 | meidao
    正好用到這里,學習了,3Q  回復  更多評論
      

    <2007年7月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 458061
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 四虎影视永久免费观看| 亚洲毛片基地4455ww| 亚洲毛片在线免费观看| 亚洲中文字幕久久精品无码A| 免费人成在线观看网站品爱网| 永久在线毛片免费观看| 亚洲色爱图小说专区| 91亚洲视频在线观看| 一个人看的免费高清视频日本| 黄色永久免费网站| 亚洲成AV人片在线观看无码| 亚洲日韩精品国产3区 | 亚洲永久网址在线观看| 嫩草成人永久免费观看| 免费人成激情视频| 亚洲人成网站看在线播放| 中文字幕免费不卡二区| 国产免费久久精品久久久| 91嫩草亚洲精品| 一区二区免费视频| 国精无码欧精品亚洲一区| 菠萝菠萝蜜在线免费视频| 性感美女视频免费网站午夜| 亚洲一区二区三区亚瑟 | 女性自慰aⅴ片高清免费| 亚洲天堂免费在线| 女人18毛片免费观看| 亚洲日本va一区二区三区| 大地资源在线观看免费高清| 亚洲综合视频在线| 亚洲成年人免费网站| 亚洲小说区图片区| 成人午夜18免费看| 婷婷亚洲综合一区二区| 成人人免费夜夜视频观看| 亚洲精品精华液一区二区| 国产又黄又爽又猛的免费视频播放 | 中文字幕乱码免费视频| 亚洲国产高清人在线| 日本片免费观看一区二区| 91在线亚洲综合在线|