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

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

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

    Hibernate進行時

    有關Hibenrate及其相關工具的主頁
    隨筆 - 0, 文章 - 16, 評論 - 29, 引用 - 0
    數據加載中……

    多對一關系中的代理

    假設Student對Team是多對一的關系,并且<many-to-one>采取的是默認的加載策略(也即proxy)。那么,在session中取得Student后,在session外通過Student取出Team會發生什么情況呢?分三種情況討論:
    1.student記錄對應的team_id為null。注意:是為null,而不是為""。下面為student表情況:
    id??????????????????? stuName????????????? age???????????????? team_id
    123abc????????????tom?????????????????????24?????????????????? null
    這個時候調用:
    log.info(stu.getTeam())打印的是“null”。

    2. student記錄對應的team_id有值,但這個值并沒有對應到任何的實體team,比如隨便給team_id設一個值“abcd123adfsdaf”。
    id??????????????????? stuName????????????? age???????????????? team_id
    123abc????????????tom?????????????????????24?????????????????? abcd123adfsdaf
    這個時候調用:
    log.info(stu.getTeam())
    彈出異常:“could not initialize proxy - the owning Session was closed”

    log.info(stu.getTeam().getClass())
    打印的是“class com.model.Team$$EnhancerByCGLIB$$ee64f4f1”。

    log.info(stu.getTeam().getId())
    打印的是“abcd123adfsdaf”

    log.info(stu.getTeam().getTeamName())
    彈出異常:“could not initialize proxy - the owning Session was closed”

    3. student記錄對應的team_id有值,而且這個值對應到了一個實體team。
    id??????????????????? stuName????????????? age???????????????? team_id
    123abc????????????tom?????????????????????24?????????????????? 402821f90cae6c2b010cae6c31f90001
    這個時候調用:
    log.info(stu.getTeam())
    彈出異常:“could not initialize proxy - the owning Session was closed”

    log.info(stu.getTeam().getClass())
    打印的是“class com.model.Team$$EnhancerByCGLIB$$ee64f4f1”。

    log.info(stu.getTeam().getId())
    打印的是“402821f90cae6581010cae6588880001”

    log.info(stu.getTeam().getTeamName())
    彈出異常:“could not initialize proxy - the owning Session was closed”


    從上可以看到第2和第三種情況的測試結果是完全一樣的,具體的原因比較簡單,在此就不再多說。
    不過有的時候“多對一”的“一”這端可以為null,因此就可以用以下的語句判斷:
    if(student.getTeam()==null)
    ???log.info(“team為null”);
    else{
    ???Hibernate.initialize(student.getTeam());//這段代碼是偽碼,我只是想表達這個意思。
    ???log.info(student.getTeam().getTeamName());
    }
    ?


    posted on 2006-07-27 13:49 caixuetao 閱讀(429) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品国产第1页| 亚洲AV无码精品色午夜在线观看| 亚洲色图校园春色| 无码人妻一区二区三区免费看| 亚洲精品成人网站在线观看| 久久九九免费高清视频| 伊人亚洲综合青草青草久热| 一区二区三区在线观看免费| 亚洲人成人网站在线观看| 国产精品无码永久免费888| AV在线播放日韩亚洲欧| 国产vA免费精品高清在线观看| 伊人婷婷综合缴情亚洲五月| 黄页免费在线观看| 亚洲黄色三级网站| 青苹果乐园免费高清在线| 亚洲精品无码久久久久牙蜜区| 国产成人在线观看免费网站 | 97av免费视频| 亚洲免费观看网站| 日本免费一二区在线电影| 免费无遮挡无遮羞在线看| 亚洲精品美女久久777777| 午夜免费福利视频| 亚洲人成电影网站色| 免费大香伊蕉在人线国产| eeuss影院www天堂免费| 亚洲AV无码AV男人的天堂| 日韩吃奶摸下AA片免费观看| 老子影院午夜伦不卡亚洲| 亚洲午夜久久久影院| **一级一级毛片免费观看| 亚洲av无码专区在线观看亚| 亚洲色婷婷综合开心网| 99ee6热久久免费精品6| 亚洲AV无码男人的天堂| 国产l精品国产亚洲区在线观看| 成人免费午夜无码视频| 中文在线免费看视频| 亚洲欧美日韩中文高清www777| 亚洲中文字幕在线观看|