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

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

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

    tao的學習樂園
    隨筆 - 6  文章 - 4  trackbacks - 0
    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    基礎知識詳見:http://mercyblitz.javaeye.com/blog/70106  http://mercyblitz.javaeye.com/blog/70114
    這兩篇文章,寫的很詳細。

    但在實際項目中是SSH架構的,我們需要拿到spring bean(例如BO,DAO等)然后設計一些跟業務相關的自定義標簽,這時就得用到spring提供的WebApplicationContextUtils,通過這個類的實例對象去取bean。
    示例代碼如下:
    1WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());
    2        IUserBO userBO = (IUserBO) wac.getBean("userBO");
    3//userBO已經在spring配置文件中進行配置
    4<bean id="userBO" class="com.ns.UserBO" parent="commonService">
    5</bean>
    然后我們就可以在標簽實現類夾雜一些業務邏輯判斷了。
    posted @ 2009-07-09 17:15 teok 閱讀(144) | 評論 (0)編輯 收藏
        hibernate中get方法和load方法的根本區別在于:如果你使用load方法,hibernate認為該id對應的對象(數據庫記錄)在數據庫中是一定存在的,所以它可以放心的使用,它可以放心的使用代理來延遲加載該對象。在用到對象中的其他屬性數據時才查詢數據庫,但是萬一數據庫中不存在該記錄,那沒辦法,只能拋異常,所說的load方法拋異常是指在使用該對象的數據時,數據庫中不存在該數據時拋異常,而不是在創建這個對象時。由于session中的緩存對于hibernate來說是個相當廉價的資源,所以在load時會先查一下session緩存看看該id對應的對象是否存在,不存在則創建代理。所以如果你知道該id在數據庫中一定有對應記錄存在就可以使用load方法來實現延遲加載。
        對于get方法,hibernate會確認一下該id對應的數據是否存在,首先在session緩存中查找,然后在二級緩存中查找,還沒有就查數據庫,數據庫中沒有就返回null。雖然好多書中都這么說:“get()永遠只返回實體類”,但實際上這是不正確的,get方法如果在session緩存中找到了該id對應的對象,如果剛好該對象前面是被代理過的,如被load方法使用過,或者被其他關聯對象延遲加載過,那么返回的還是原先的代理對象,而不是實體類對象,如果該代理對象還沒有加載實體數據(就是id以外的其他屬性數據),那么它會查詢二級緩存或者數據庫來加載數據,但是返回的還是代理對象,只不過已經加載了實體數據。 
        關于二者查詢數據的順序可以由前面內容總結如下:get方法首先查詢session緩存,沒有的話查詢二級緩存,最后查詢數據庫;反而load方法創建時首先查詢session緩存,沒有就創建代理,實際使用數據時才查詢二級緩存和數據庫

        總之對于get和load的根本區別,一句話,hibernate對于load方法認為該數據在數據庫中一定存在,可以放心的使用代理來延遲加載,如果在使用過程中發現了問題,只能拋異常;而對于get方法,hibernate一定要獲取到真實的數據,否則返回null。   
    posted @ 2009-07-07 13:46 teok 閱讀(302) | 評論 (1)編輯 收藏
    trust what we trust...
    主站蜘蛛池模板: 久久aⅴ免费观看| 精品无码国产污污污免费网站国产 | 国产jizzjizz免费看jizz| 亚洲福利电影一区二区?| 男人进去女人爽免费视频国产| 亚洲综合色区在线观看| 日亚毛片免费乱码不卡一区| 丁香亚洲综合五月天婷婷| 免费夜色污私人影院网站电影| 亚洲精品老司机在线观看| 免费视频成人国产精品网站 | 亚洲国产V高清在线观看| 中美日韩在线网免费毛片视频| 免费一级毛片在线播放| 丰满妇女做a级毛片免费观看| 国产亚洲av人片在线观看| 丝袜捆绑调教视频免费区| 亚洲国产美国国产综合一区二区 | 午夜小视频免费观看| 亚洲成AV人片在WWW| 亚洲JIZZJIZZ中国少妇中文| 男人和女人高潮免费网站| 久久久久久久尹人综合网亚洲| 精品一区二区三区免费| 亚洲日本乱码一区二区在线二产线 | 亚洲色大成网站www| 亚洲高清免费视频| 在线看片免费人成视频久网下载 | 亚洲乱码日产精品一二三| 国产国产人免费视频成69大陆| 一级特黄a免费大片| 久久夜色精品国产亚洲AV动态图| 青青草无码免费一二三区| 亚洲乱码在线卡一卡二卡新区| 四虎永久免费地址在线网站| 两个人看的www视频免费完整版| 亚洲天堂男人天堂| 国产美女被遭强高潮免费网站| 三年片免费观看大全国语| 亚洲视频在线免费播放| 国产精品免费视频一区|