<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 胡娟 閱讀(699) 評論(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 © 胡娟

    主站蜘蛛池模板: 亚洲色少妇熟女11p| 亚洲?v女人的天堂在线观看| 毛片A级毛片免费播放| 亚洲高清视频在线观看| 亚洲精品在线免费观看| 国产精品亚洲二区在线| 国产午夜无码精品免费看动漫| 99热在线免费播放| 亚洲国产高清视频| 性xxxx视频免费播放直播| 精品亚洲永久免费精品| 免费看无码特级毛片| 中文字幕不卡亚洲| 久久免费精品一区二区| 亚洲国产高清在线| 一个人在线观看视频免费| 久久久久免费精品国产| 久久国产精品亚洲一区二区| 久久www免费人成精品香蕉| 无码av免费网站| 亚洲男人天堂2017| 无码区日韩特区永久免费系列| 国产成人在线免费观看| 日韩精品视频免费在线观看| 亚洲AV日韩AV永久无码绿巨人| 91大神在线免费观看| 亚洲乱亚洲乱妇24p| 国产人成免费视频| 亚洲高清有码中文字| 免费人成毛片动漫在线播放| 亚洲精品成人图区| 午夜无遮挡羞羞漫画免费| 亚洲精品自在在线观看| 久久免费视频观看| 中文字幕乱码亚洲无线三区| 全部免费国产潢色一级| 久久精品国产免费一区| 亚洲深深色噜噜狠狠网站| 亚洲av无码国产精品色在线看不卡| 99视频在线观看免费| 亚洲视频在线免费播放|