<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)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 458279
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产av美女网站| 亚洲韩国在线一卡二卡| 国产AV无码专区亚洲AV琪琪| 毛片免费在线播放| 亚洲综合一区国产精品| 24小时免费直播在线观看| 国产成人精品日本亚洲专一区| 免费精品国偷自产在线在线| 中文字幕在线观看亚洲视频| 成人免费午夜视频| 老司机精品视频免费| 亚洲精品tv久久久久久久久久| 免费国产草莓视频在线观看黄| 亚洲人AV永久一区二区三区久久 | 亚洲美女视频一区二区三区| 亚洲免费视频网址| 97久久国产亚洲精品超碰热| 欧美男同gv免费网站观看| 亚洲av无码专区亚洲av不卡| 午夜亚洲av永久无码精品| 9久热精品免费观看视频| 亚洲精品综合一二三区在线| 国产免费毛不卡片| 亚洲av综合日韩| 亚洲国产精品成人精品无码区 | 男人的天堂网免费网站| 亚洲精品国产成人| 国产美女精品视频免费观看| 精品久久久久久无码免费| 亚洲精品视频观看| 免费人成在线观看网站品爱网日本| 久久WWW免费人成—看片| 亚洲成人网在线观看| 亚洲 自拍 另类小说综合图区| 永久免费AV无码网站国产| 亚洲欧洲日韩极速播放| 亚洲中文字幕视频国产| 日本免费网址大全在线观看| eeuss免费影院| 亚洲欧洲另类春色校园网站| 中文字幕一精品亚洲无线一区|