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

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

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

    JPA+Hibernate 3.3 學習小結——多對多關系關系映射

    Posted on 2009-06-20 19:11 胡娟 閱讀(689) 評論(0)  編輯  收藏 所屬分類: JAVA
    多對多關系關系映射
    被關系維護端 teacher
    package com.hujuan.bean;

    import java.util.HashSet;
    import java.util.Set;

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

    @Entity
    public class Teacher {
        
        
    private Integer id;
        
    private String name;
        
    private Set<Student> students = new HashSet<Student>();
        
        
    public Teacher(){
            
        }
        
        
    public Teacher(String name){
            
    this.name = name;
        }
        
        @Id @GeneratedValue
        
    public Integer getId() {
            
    return id;
        }
        
    public void setId(Integer id) {
            
    this.id = id;
        }
        @Column(nullable
    =false,length=10)
        
    public String getName() {
            
    return name;
        }
        
    public void setName(String name) {
            
    this.name = name;
        }
        @ManyToMany(cascade
    =CascadeType.REFRESH,mappedBy="teachers")
        
    public Set<Student> getStudents() {
            
    return students;
        }
        
    public void setStudents(Set<Student> students) {
            
    this.students = students;
        }

        @Override
        
    public int hashCode() {
            
    final int prime = 31;
            
    int result = 1;
            result 
    = prime * result + ((id == null? 0 : id.hashCode());
            
    return result;
        }

        @Override
        
    public boolean equals(Object obj) {
            
    if (this == obj)
                
    return true;
            
    if (obj == null)
                
    return false;
            
    if (getClass() != obj.getClass())
                
    return false;
            
    final Teacher other = (Teacher) obj;
            
    if (id == null) {
                
    if (other.id != null)
                    
    return false;
            } 
    else if (!id.equals(other.id))
                
    return false;
            
    return true;
        }
    }
    關系維護端student
    package com.hujuan.bean;

    import java.util.HashSet;
    import java.util.Set;

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

    @Entity
    public class Student {

        
    private Integer id;
        
    private String name;
        
    private Set<Teacher> teachers = new HashSet<Teacher>();
        
        
    public Student(){
            
        }
        
        
    public Student(String name){
            
    this.name = name;
        }
        
        @Id @GeneratedValue
        
    public Integer getId() {
            
    return id;
        }
        
    public void setId(Integer id) {
            
    this.id = id;
        }
        @Column(nullable
    =false,length=10)
        
    public String getName() {
            
    return name;
        }
        
    public void setName(String name) {
            
    this.name = name;
        }
        
    //設置關聯表
        
    //inverseJoinColumns 被關系維護端在關聯表中的外鍵
        
    //joinColumns 關系維護端在關聯表中的外鍵
        @JoinTable(name="student_teacher",
                inverseJoinColumns
    =@JoinColumn(name="teacher_id"),
                joinColumns
    =@JoinColumn(name="student_id"))
        @ManyToMany(cascade
    =CascadeType.REFRESH)
        
    public Set<Teacher> getTeachers() {
            
    return teachers;
        }
        
    public void setTeachers(Set<Teacher> teachers) {
            
    this.teachers = teachers;
        }
        
        
    public void addTeacher(Teacher teacher){
            
    this.teachers.add(teacher);
        }
        
        
    public void removeTeacher(Teacher teacher){
            
    if(this.teachers.contains(teacher)){
                
    this.teachers.remove(teacher);
            }
        }
    }

    posts - 28, comments - 5, trackbacks - 0, articles - 1

    Copyright © 胡娟

    主站蜘蛛池模板: 亚洲中文字幕无码中文字在线| 国产精品免费看香蕉| 久久亚洲精品无码播放| 人成午夜免费大片在线观看| 亚洲成a人一区二区三区| 女人裸身j部免费视频无遮挡| 亚洲人成影院在线观看| 久久久久久av无码免费看大片| 久久久久亚洲av成人无码电影| 国产成人无码免费网站| 亚洲熟妇无码另类久久久| 久久午夜夜伦鲁鲁片免费无码| 亚洲欧洲自拍拍偷综合| av无码国产在线看免费网站| 亚洲制服丝袜第一页| 韩国18福利视频免费观看| igao激情在线视频免费| 亚洲资源在线观看| 成年美女黄网站色大免费视频 | 亚洲AV综合色区无码二区爱AV| 蜜桃视频在线观看免费网址入口| 色九月亚洲综合网| 在线亚洲人成电影网站色www| 免费观看男人吊女人视频| 亚洲日本香蕉视频观看视频| 成人一a毛片免费视频| eeuss影院免费92242部| 亚洲经典在线观看| 日韩黄色免费观看| 国内精品免费久久影院| 亚洲av一本岛在线播放| 亚洲第一黄色网址| 久久综合国产乱子伦精品免费| 亚洲男人的天堂网站| 久久精品亚洲福利| 一本无码人妻在中文字幕免费| 人体大胆做受免费视频| 亚洲国产成人精品无码区在线秒播 | 丰满亚洲大尺度无码无码专线| 亚洲午夜福利在线观看| 无人在线直播免费观看|