示例:一个老师(Teacher)有多个学生(Student),一个学生有多个老师。

public class Teacher {
    private Integer id;
    private String name;
    private Set students = new HashSet();
    // getter and setter
}
public class Student {
    private Integer id;
    private String name;
    private Set teachers = new HashSet();
    // getter and setter
}

用XML映射


    
        
            
        
        
        
            
            
        
    

    
        
            
        
        
        
        
            
            
        
    



用@Annotation映射

@Entity
@Table(name = "tbl_teacher")
public class Teacher {

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Integer id;
        private String name;
        
        @ManyToMany
        @JoinTable(name = "tb_student_teacher", joinColumns = @JoinColumn(name = "teacher_id"), inverseJoinColumns = @JoinColumn(name = "student_id"))
        private Set students = new HashSet();
        // getter and setter
}
@Entity
@Table(name = "tbl_student")
public class Student {

        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Integer id;
        private String name;
        
        //不维护关联关系
        @ManyToMany(mappedBy = "students")
        private Set teachers = new HashSet();
        // getter and setter
}