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

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

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

    溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫此文的意義!!!煩請您在轉(zhuǎn)載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫此文的意義!!!煩請您在轉(zhuǎn)載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

    Role.java
    package com.many2many.bean;

    import java.util.Set;

    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.ManyToMany;
    import javax.persistence.Table;

    @Entity
    @Table(name
    ="roles",catalog="Hibernate_Many2Many")
    public class Role {
        
        
    private int id;
        
    private String name;
        
    private Set<User> users;
        @Id
        @Column(name
    ="id")
        @GeneratedValue(strategy
    =GenerationType.AUTO)
        
    public int getId() {
            
    return id;
        }
        
    public void setId(int id) {
            
    this.id = id;
        }
        @Column(name
    ="name")
        
    public String getName() {
            
    return name;
        }
        
    public void setName(String name) {
            
    this.name = name;
        }
        @ManyToMany(mappedBy
    ="roles",cascade=CascadeType.ALL)
        
    public Set<User> getUsers() {
            
    return users;
        }
        
    public void setUsers(Set<User> users) {
            
    this.users = users;
        }
        
    }
    User.java
    package com.many2many.bean;

    import java.util.Set;

    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.Table;

    @Entity
    @Table(name
    ="users",catalog="Hibernate_Many2Many")
    public class User {
        
        
    private int id;
        
    private String name;
        
    private Set<Role> roles;
        @Id
        @Column(name
    ="id")
        @GeneratedValue(strategy
    =GenerationType.AUTO)
        
    public int getId() {
            
    return id;
        }
        
    public void setId(int id) {
            
    this.id = id;
        }
        @Column(name
    ="name")
        
    public String getName() {
            
    return name;
        }
        
    public void setName(String name) {
            
    this.name = name;
        }
        @ManyToMany(cascade
    =CascadeType.ALL)
        @JoinTable(
                name
    ="user_role",
                joinColumns
    =@JoinColumn(name="user_id"),
                inverseJoinColumns
    =@JoinColumn(name="role_id")
        )
        
    public Set<Role> getRoles() {
            
    return roles;
        }
        
    public void setRoles(Set<Role> roles) {
            
    this.roles = roles;
        }
        
    }
    導(dǎo)出的sql
    create table Hibernate_Many2Many.roles (
            id 
    integer not null auto_increment,
            name 
    varchar(255),
            
    primary key (id)
        )

        
    create table Hibernate_Many2Many.users (
            id 
    integer not null auto_increment,
            name 
    varchar(255),
            
    primary key (id)
        )

        
    create table user_role (
            
    user_id integer not null,
            role_id 
    integer not null,
            
    primary key (user_id, role_id)
        )

        
    alter table user_role 
            
    add index FK143BF46ADA6B394F (role_id), 
            
    add constraint FK143BF46ADA6B394F 
            
    foreign key (role_id) 
            
    references Hibernate_Many2Many.roles (id)

        
    alter table user_role 
            
    add index FK143BF46A7F95FD2F (user_id), 
            
    add constraint FK143BF46A7F95FD2F 
            
    foreign key (user_id
            
    references Hibernate_Many2Many.users (id)

    測試代碼
    @Test
        
    public void insert(){
            Session session
    =HibernateSessionFactory.getSession();
            Transaction transaction
    =session.beginTransaction();
            
    try {
                transaction.begin();
                User user
    =new User();
                user.setName(
    "張三");
                
                Role role
    =new Role();
                role.setName(
    "管理員");
                Set
    <Role> roles=new HashSet<Role>();
                roles.add(role);
                user.setRoles(roles);
                
                session.persist(user);
                
                transaction.commit();
            } 
    catch (HibernateException e) {
                e.printStackTrace();
                transaction.rollback();
            }
        }
        
        
        @Test
        
    public void select(){
            Session session
    =HibernateSessionFactory.getSession();
            User user
    =(User) session.get(User.class1);
            System.out.println(user.getName());
            Set
    <Role> roles=user.getRoles();
            
    for (Iterator<Role> iterator = roles.iterator(); iterator.hasNext();) {
                Role role 
    = (Role) iterator.next();
                System.out.println(role.getName());
            }
        }
    posted on 2010-10-18 21:15 雪山飛鵠 閱讀(2135) 評論(1)  編輯  收藏 所屬分類: Hibernate

    Feedback

    # re: Hibernate多對多雙向關(guān)聯(lián)(Annotation配置) 2012-10-12 11:56 小俊
    挺!溫故知新  回復(fù)  更多評論
      

    主站蜘蛛池模板: 亚洲AV无码久久精品蜜桃| 久艹视频在线免费观看| 4399好看日本在线电影免费| 国产亚洲精品免费视频播放| 亚洲成电影在线观看青青| 青青青国产手机频在线免费观看| 免费大片黄手机在线观看| 亚洲av乱码中文一区二区三区 | 亚洲午夜成激人情在线影院| 久久久久久一品道精品免费看| 亚洲AV日韩AV永久无码绿巨人| 日本免费污片中国特一级| 亚洲蜜芽在线精品一区| 18级成人毛片免费观看| 亚洲av无码一区二区三区天堂古代 | 国产精品亚洲а∨无码播放| 中文字幕免费播放| 亚洲国产精品自在在线观看 | 亚洲激情电影在线| 国产精品免费视频一区| 一级做性色a爰片久久毛片免费| 亚洲国产综合无码一区| 免费无码又爽又刺激一高潮| 亚洲最大黄色网址| 亚洲av成人一区二区三区在线观看| 一区二区在线免费视频| 亚洲精品无码MV在线观看| 最近的中文字幕大全免费8| 亚洲av日韩av永久在线观看| 亚洲精品成人无码中文毛片不卡| 久久精品视频免费播放| 噜噜综合亚洲AV中文无码| 精品亚洲综合在线第一区| 白白国产永久免费视频| 久久国产精品免费| 亚洲日韩国产二区无码| 国产亚洲婷婷香蕉久久精品| 日本人护士免费xxxx视频| 99re8这里有精品热视频免费| 亚洲乱亚洲乱妇无码| 亚洲日本精品一区二区|