/*一对一的单项外键关联*/ /*一对一的单向外键关联*/ /*一对一的双向外键关联*/只要有双向关联,mappedBy必设
|
/*一对一的单向主键关联*/(了解) /*一对一的单向主键关联*/ /*一对一的双向主键关联*/
|
/*一对一的单项外键联合主键*/ /*一对一的单项联合主键关联,假设id与name是联合主键*/ /*一对一的单项联合主键关联*/
|
/*嵌入类*/(注意同名现象) /*一对一的嵌入关联*/
|
/*多对一的单向关联,一个用户在一个分组*/
|
/*一对多关联映射,一个分组有多个用户*/
|
/*多对一、一对多的双向关联*/ @Entity
|
/*多对多单双向关联*/
@Entity
@Table(name="theacher")
public class Theacher {
private Integer id;
private String name;
private Set<Student> student = new HashSet<Student>();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
@ManyToMany
@JoinTable(name = "t_s",
joinColumns={@JoinColumn(name = "theacherId")},//指定我方连接Id
inverseJoinColumns = {@JoinColumn(name = "staudentId")}//反向指定连接Id
)
public Set<Student> getStudent() { return student; }
public void setStudent(Set<Student> student) { this.student = student; }
}
@Entity @Table(name = "student") public class Student { private Integer id; private String name; private Set<Theacher> theacherSet; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @ManyToMany(mappedBy = "student") public Set<Theacher> getTheacherSet() { return theacherSet; } public void setTheacherSet(Set<Theacher> theacherSet) { this.theacherSet = theacherSet; } } |