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

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

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

    hibernate多對多映射_處理

    一.hibernate多對多映射(單項),自動產(chǎn)生第三張表

    User--à Role

    user(id,name)    role(id,name)

    User類:

    private int  id;   private String name;  private  Set roles;

     

    Role類:

    private int id;    private String name;

     

    User.hbm.xml中:

    <set name=”roles” table=”t_user_role”>

           <key column=”userid” />

           <many-to-many class=”com.Role” column=”roleid” />

    </set>

     

    這樣,hibernate會自動產(chǎn)生中間表t_user_role(userid,roleid) 并且是復合主鍵,userid為t_user的外鍵,roleid為t_role的外鍵

     

     

    二.hibernate多對多的存儲

     

    Role r1 = new Role();

    r1.setName(“數(shù)據(jù)錄入人員”);

     

    Role r2 = new Role();

    r2.setName(“商務主管”);

     

    Role r3 = new Role();

    r3.setName(“大區(qū)經(jīng)理”);

     

     

    User u1 = new User();

    u1.setName(“10”);

    Set u1Roles = new HashSet();

    u1Roles.add(r1);

    u1Roles.add(r2);

    u1.setRoles(u1Roles);

     

    User u2 = new User();

    u1.setName(“祖兒”);

    Set u2Roles = new HashSet();

    u2Roles.add(r2);

    u2Roles.add(r3);

    u2.setRoles(u2Roles);

    User u3 = new User();

    u3.setName(“杰倫”);

    Set u3Roles = new HashSet();

    u3Roles.add(r1);

    u3Roles.add(r2);

    u3Roles.add(r3);

    u3.setRoles(u3Roles);

     

     

    session.save(r1);

    session.save(r2);

    session.save(r3);

     

    session.save(u1);

    session.save(u2);

    session.save(u3);

     

    結(jié)束之后,在第三張表中也有數(shù)據(jù)

     

     

     

    三.hibernate多對多的加載

     

    User user = (User)session.load(User.class,1);

    System.out.println(user.getName());

    for(Iterator iter = user.getRoles().iterator();iter.hasNext();){

           Role role = (Role)iter.next();

           System.out.println(role.getName());

     

    }

     每次加載都會發(fā)出sql語句

     

    三.hibernate多對多的 雙向映射

     

    User ß--.-àRole

    user(id,name)    role(id,name)

    User類:

    private int  id;   private String name;  private Set roles;

     

    Role類:

    private int id;    private String name; private Set users;

     

    User.hbm.xml中:

    <set name=”roles” table=”t_user_role”>

           <key column=”userid” />

           <many-to-many class=”com.Role” column=”roleid” />

    </set>

     

    Role.hbm.xml中:

    <set name=”roles” table=”t_user_role”>   //這里可以設(shè)置order-by=”userid”,根據(jù)userid排序

           <key column=”roleid” />

           <many-to-many class=”com.User” column=”userid” />

    </set>

     

    注意,上面中間表名字是一樣的

    這樣,hibernate也會自動產(chǎn)生中間表t_user_role(userid,roleid) 并且是復合主鍵,userid為t_user的外鍵,roleid為t_role的外鍵

     

    posted on 2009-04-06 11:56 胡鵬 閱讀(1154) 評論(0)  編輯  收藏 所屬分類: hibernate

    導航

    <2009年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    統(tǒng)計

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    agile

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费a级黄色毛片| 久久久久亚洲AV成人网人人网站| 日本在线看片免费| 67194国产精品免费观看| **aaaaa毛片免费| 亚洲精品网站在线观看你懂的| 亚洲区视频在线观看| 亚洲精品无码aⅴ中文字幕蜜桃| 色老板亚洲视频免在线观| 黄页视频在线观看免费| 中国一级毛片视频免费看| www.黄色免费网站| 国产亚洲精午夜久久久久久| 国产成人无码精品久久久免费| 亚洲免费电影网站| 亚洲一区二区三区在线观看精品中文| 1区1区3区4区产品亚洲| 特级毛片全部免费播放a一级| 全部免费a级毛片| aa级女人大片喷水视频免费| 成人黄动漫画免费网站视频| 国产l精品国产亚洲区在线观看| 亚洲日韩乱码中文字幕| 最近中文字幕电影大全免费版 | 337p日本欧洲亚洲大胆人人| 无码人妻AV免费一区二区三区| 国产男女猛烈无遮挡免费网站| 久久久久久亚洲精品成人| 曰韩无码AV片免费播放不卡| 成人免费午夜无码视频| 成a人片亚洲日本久久| 一本色道久久综合亚洲精品高清| 国产成人久久AV免费| 国产亚洲国产bv网站在线| 亚洲阿v天堂在线2017免费| 99热亚洲色精品国产88| 亚洲国产日韩在线观频| 国产亚洲精彩视频| 四虎影视免费永久在线观看| 亚洲爆乳AAA无码专区| 亚洲综合精品香蕉久久网|