<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 免费在线观看黄网| 一本久久综合亚洲鲁鲁五月天 | 免费无码av片在线观看| 亚洲综合色成在线播放| 特黄特色的大片观看免费视频| 国产成人精品免费视频大全五级 | 久久久久国产成人精品亚洲午夜| 国产精品亚洲专区在线播放 | 亚洲AV乱码一区二区三区林ゆな| 中文字幕不卡免费高清视频| 久久精品国产亚洲AV麻豆王友容 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 男人的好看免费观看在线视频| 亚洲一区二区观看播放| 日韩高清在线高清免费| 污污污视频在线免费观看| 国产午夜亚洲精品午夜鲁丝片| 无码av免费网站| youjizz亚洲| 九月婷婷亚洲综合在线| 中文字幕不卡免费视频| 亚洲日本一区二区| 国产乱码免费卡1卡二卡3卡| 亚洲AV无码男人的天堂| 亚洲毛片不卡av在线播放一区| 九九美女网站免费| 亚洲另类视频在线观看| 又黄又大又爽免费视频| 成全视成人免费观看在线看| 亚洲精品在线视频观看| 国产成人免费a在线视频app| 黄网站免费在线观看| 亚洲午夜电影在线观看高清| 国产一区在线观看免费| 人人揉揉香蕉大免费不卡| 亚洲色大成网站www永久男同 | 亚洲av色香蕉一区二区三区| 在线观看亚洲天天一三视| 国产又大又粗又长免费视频| 一级特黄特色的免费大片视频| 亚洲午夜精品久久久久久人妖|