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

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

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

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

    雪山飛鵠

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

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

    SQL
    create table Roles
    (
       id                   
    int not null auto_increment,
       name                 
    varchar(20),
       
    primary key (id)
    );

    create table Users
    (
       id                   
    int not null auto_increment,
       name                 
    varchar(20),
       
    primary key (id)
    );

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

    alter table user_role add constraint FK_Reference_1 foreign key (user_id)
          
    references Users (id) on delete restrict on update restrict;

    alter table user_role add constraint FK_Reference_2 foreign key (role_id)
          
    references Roles (id) on delete restrict on update restrict;

    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.JoinColumn;
    import javax.persistence.JoinTable;
    import javax.persistence.ManyToMany;
    import javax.persistence.Table;

    @Entity
    @Table(name
    ="roles",catalog="JPA_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(cascade
    =CascadeType.PERSIST)
        @JoinTable(
                name
    ="user_role",
                joinColumns
    =@JoinColumn(name="role_id"),
                inverseJoinColumns
    =@JoinColumn(name="user_id")
        )
        
    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.ManyToMany;
    import javax.persistence.Table;

    @Entity
    @Table(name
    ="users",catalog="JPA_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(mappedBy
    ="users",cascade=CascadeType.REFRESH)
        
    public Set<Role> getRoles() {
            
    return roles;
        }
        
    public void setRoles(Set<Role> roles) {
            
    this.roles = roles;
        }
        
        
    }

    JPAUtil.java
    package com.many2many.util;

    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;

    public class JPAUtil {
        
        
    private static EntityManager entityManager;
        
    public static EntityManager getInstance(){
            
    if(entityManager!=null){
                
    return entityManager;
            }
    else{
                
    return makeInstance();
            }
        }
        
    private static synchronized EntityManager makeInstance() {
            
    if(entityManager==null){
                EntityManagerFactory entityManagerFactory
    =Persistence.createEntityManagerFactory("JPA_Many2ManyPU");
                
    return entityManagerFactory.createEntityManager();
            }
            
    return null;
        }
    }

    測(cè)試代碼
    @Test
        
    public void insert(){
            EntityManager entityManager
    =JPAUtil.getInstance();
            EntityTransaction entityTransaction
    =entityManager.getTransaction();
            
    try {
                entityTransaction.begin();
                
                User user
    =new User();
                user.setName(
    "張三");
                
                Role role
    =new Role();
                role.setName(
    "管理員");
                
                Set
    <User> users=new HashSet<User>();
                users.add(user);
                
                role.setUsers(users);
                
                entityManager.persist(role);
                
                entityTransaction.commit();
            } 
    catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        @Test
        
    public void select(){
            EntityManager entityManager
    =JPAUtil.getInstance();
            Role role
    =entityManager.find(Role.class1);
            System.out.println(role.getName());
            Set
    <User> set=role.getUsers();
            
    for (Iterator<User> iterator = set.iterator(); iterator.hasNext();) {
                User user 
    = (User) iterator.next();
                System.out.println(user.getName());
            }
        }
    posted on 2010-10-18 20:44 雪山飛鵠 閱讀(1977) 評(píng)論(0)  編輯  收藏 所屬分類: JPA
    主站蜘蛛池模板: 亚洲永久无码3D动漫一区| 精品无码免费专区毛片| 免费国产小视频在线观看| 中文字幕无码亚洲欧洲日韩| 国产99视频精品免费观看7| 亚洲免费中文字幕| 最近免费中文字幕视频高清在线看| 亚洲人和日本人jizz| 最新猫咪www免费人成| 337p日本欧洲亚洲大胆人人| 亚洲 小说区 图片区 都市| 免费视频成人国产精品网站| 亚洲精品tv久久久久久久久久| 好吊色永久免费视频大全| 久久久影院亚洲精品| 四虎永久在线观看免费网站网址 | 自拍偷自拍亚洲精品偷一| 全亚洲最新黄色特级网站 | 亚洲欧洲日本在线| a毛片免费全部播放完整成| 亚洲综合色丁香麻豆| 国产精品成人免费视频网站京东 | 久久夜色精品国产噜噜噜亚洲AV| 3344永久在线观看视频免费首页 | 亚洲中文字幕无码mv| mm1313亚洲精品国产| 免费一区二区三区| 亚洲av永久无码精品天堂久久 | 一区二区三区福利视频免费观看| 亚洲人成网站日本片| 五月婷婷亚洲综合| 97在线视频免费播放| 亚洲av日韩av永久在线观看 | 国外成人免费高清激情视频| 一级毛片视频免费| 91亚洲性爱在线视频| 亚洲?V无码乱码国产精品| 污视频在线观看免费| 女bbbbxxxx另类亚洲| 久久精品国产亚洲AV网站| 精品久久洲久久久久护士免费|