<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 © 胡娟

    主站蜘蛛池模板: 无码免费又爽又高潮喷水的视频 | 理论亚洲区美一区二区三区| 国产精品亚洲一区二区三区在线| 好爽…又高潮了免费毛片| 日本一区二区免费看| 成人免费网站视频www| 久久亚洲精品无码av| 亚洲永久中文字幕在线| 亚洲Av综合色区无码专区桃色| 全亚洲最新黄色特级网站 | 国产成人yy免费视频| 日本一区二区免费看| 久久99久久成人免费播放| 污网站免费在线观看| mm1313亚洲国产精品无码试看| 在线观看亚洲AV日韩AV| 亚洲国产成人精品无码区在线网站| 亚洲爱情岛论坛永久| 久久精品国产69国产精品亚洲| 国产gv天堂亚洲国产gv刚刚碰| 亚洲Av无码乱码在线播放| 四虎永久成人免费影院域名| 国产美女被遭强高潮免费网站| 免费无码又爽又高潮视频| 成人毛片18女人毛片免费视频未| 99精品国产免费久久久久久下载| 亚洲视频免费播放| www视频在线观看免费| 国产91色综合久久免费分享| 18禁黄网站禁片免费观看不卡| 最近中文字幕大全免费视频| 99在线免费观看视频| 18未年禁止免费观看| 日本免费一区二区在线观看| 国产在线观看麻豆91精品免费| 五月婷婷在线免费观看| 无码乱肉视频免费大全合集 | 亚洲短视频男人的影院| 亚洲av无码精品网站| 久久久无码精品亚洲日韩蜜臀浪潮| 97亚洲熟妇自偷自拍另类图片 |