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

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

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

    itVincent Blog - Java Working Fun!

    技術引領時代!
    posts - 117, comments - 181, trackbacks - 0, articles - 12

    OneToOne lazy loading不生效的問題

    Posted on 2008-11-04 13:38 itVincent 閱讀(2055) 評論(0)  編輯  收藏

    最近項目中遇到了個hibernate lazy延遲加載的問題,實體關系如下A,B
    public class A  {
        @OneToOne(fetch=FetchType.LAZY,mappedBy = "a")
        B b;
    }

    public class B  {
        @OneToOne(fetch=FetchType.LAZY)
        @JoinColumn(name = "A_ID_FK")
        A a;
    }
    情況是:取A的對象時,就算設置了lazy,結果還是eager馬上獲取的, hibernate打印出的也是多了一條SQL語句;
    但當取B的對象時,設置了的lazy就生效了,只有一條SQL語句

    查了不少資料,在robin的文章中找到這樣的話:"先來說說Hibernate吧。Hibernate確實功能強悍,但是Hibernate不夠易用,而且有一些明顯的缺陷:one-to-one必須通過bytecode enhancement才能lazy loading",這里說出OneToOne存在這樣的缺陷,然而所說的bytecode enhancement不是很清楚什么意思,猜測是用cglib進行一些對象的動態改變.

    在論壇中找到這樣的一段解釋:
    Does lazy loading of one-to-one associations work? Lazy loading for
    one-to-one associations is sometimes confusing for new Hibernate users.
    If you consider one-to-one associations based on shared primary keys
    (chapter 7, section 7.1.1, “Shared primary key associations”), an association
    can be proxied only if it’s constrained="true". For example, an
    Address always has a reference to a User. If this association is nullable
    and optional, Hibernate first would have to hit the database to find out
    whether a proxy or a null should be applied—the purpose of lazy loading
    is to not hit the database at all. You can enable lazy loading through
    bytecode instrumentation and interception, which we’ll discuss later.


    綜上的原因得出兩種解決方法:
    1.將OneToOne改為OneToMany,但幾點是改變了實體關系,對已有代碼也有存在影響
    2.將OneToOne的主控方設在你需要lazy loading的實體那里,但兩個都需要lazy loading呢

    You can enable lazy loading through
    bytecode instrumentation and interception, which we’ll discuss later.
    對這句話還要繼續尋找答案


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


    網站導航:
     
    主站蜘蛛池模板: 毛片免费观看网站| 中文字幕亚洲一区二区三区| 亚洲精品精华液一区二区| 亚洲AV日韩精品一区二区三区| 中文字幕无码免费久久9一区9| 亚洲欧洲尹人香蕉综合| 一本久到久久亚洲综合| 91香焦国产线观看看免费| 国产精品久久久久久亚洲小说| 婷婷久久久亚洲欧洲日产国码AV | 18未年禁止免费观看| 亚洲av成本人无码网站| 久久久久无码精品亚洲日韩| 成人免费视频软件网站| 久热免费在线视频| 特级毛片A级毛片100免费播放| 亚洲四虎永久在线播放| 亚洲免费一区二区| 一个人免费观看视频www| 中文日本免费高清| 久久精品亚洲日本波多野结衣| 亚洲AV无码成人精品区蜜桃| 免费一级e一片在线播放| 久久久久久精品免费免费自慰| 中文字幕手机在线免费看电影 | 一本天堂ⅴ无码亚洲道久久| 亚洲av午夜福利精品一区| 免费国产在线观看| 国产精品久久久久久久久久免费 | 日韩成人免费视频播放| 182tv免费视视频线路一二三| 国产成人无码精品久久久久免费 | 亚洲高清视频在线播放| 亚洲香蕉网久久综合影视| 免费看国产一级特黄aa大片| 国产卡二卡三卡四卡免费网址| 久久久久久成人毛片免费看| 中文字幕永久免费| 国产免费高清69式视频在线观看 | 一级毛片人与动免费观看| 亚洲乱码中文字幕在线|