<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

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品久免费的黄网站| 亚洲欧洲春色校园另类小说| 中文字幕影片免费在线观看| 黄 色一级 成 人网站免费| 亚洲精品国产国语| 久久亚洲国产精品| 亚洲AV无码乱码在线观看| 成人免费AA片在线观看| 无码成A毛片免费| 污网站免费在线观看| 亚洲中文无码亚洲人成影院| 久久精品亚洲一区二区| 久久亚洲国产精品123区| 国产高清视频在线免费观看| 久久精品免费一区二区| 国产精品区免费视频| 免费人成再在线观看网站 | 视频免费1区二区三区| 亚洲一区免费在线观看| 亚洲精彩视频在线观看| 久久青青成人亚洲精品| 国产亚洲精品高清在线| 亚洲精品黄色视频在线观看免费资源| 在线精品免费视频| 免费观看黄网站在线播放| 天天影院成人免费观看| 3d动漫精品啪啪一区二区免费| 永久免费av无码入口国语片| 国产A∨免费精品视频| 有色视频在线观看免费高清在线直播| 含羞草国产亚洲精品岁国产精品| 亚洲人成电影网站免费| 亚洲天堂男人影院| 亚洲日本久久久午夜精品| 亚洲综合国产成人丁香五月激情| 亚洲区精品久久一区二区三区| 亚洲国产成人久久| 亚洲国产综合精品中文第一| 中文字幕乱码亚洲无线三区 | 伊人久久国产免费观看视频| 深夜福利在线免费观看|