08-hibernate注解-多对多双向外键关联
2017-11-14 00:20
417 查看
多对多双向外键
双方持有对方的集合对象其中一方设置:
//教师类
@ManyToMany(mappedBy="teachers") //mappedby表示教师交给学生来控制
另一方:
//学生类
@ManyToMany @JoinTable( name="teachars_students", //中间表的名字 joinColumns= {@JoinColumn(name="sid")}, //外键的字段 inverseJoinColumns= {@JoinColumn(name="tid")}) //反转控制字段的名字
相对于刚刚的多对多单向外键,多对多双向外键,只需要在教师类修改就行了。
教师类:
因为多对多,所以教师类中也需要有学生类的集合。
然后把教师交给学生来控制,由学生做主控方。
package mtm_bfk; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToMany; import org.hibernate.annotations.GenericGenerator; //教室实体类 @Entity public class Teachers { @Id @GeneratedValue(generator="tid") @GenericGenerator(name="tid",strategy="assigned") @Column(length=4) private String tid;//教师的编号 private String tname;//姓名 @ManyToMany(mappedBy="teachers")//把教师交给学生控制 private Set<Students> stus;//教师持有学生的集合 public Teachers() { } public Teachers(String tid, String tname) { //super(); this.tid = tid; this.tname = tname; } public Set<Students> getStus() { return stus; } public void setStus(Set<Students> stus) { this.stus = stus; } public String getTid() { return tid; } public void setTid(String tid) { this.tid = tid; } public String getTname() { return tname; } public void setTname(String tname) { this.tname = tname; } }
测试结果差不多。
相关文章推荐
- Hibernate关系映射级别注解(一对一双向外键关联、一对一双向外键联合主键)
- 07-hibernate注解-一对多(多对一)双向外键关联
- Hibernate关系映射级别注解(一对多单向外键关联、一对多(多对一)双向外键关联)
- Hibernate关系映射级别注解(多对多单向外键关联、多对多双向外键关联)
- 04-hibernate注解-一对一双向外键关联
- Hibernate的注解方式:多对多双向关系基于外键关联
- 08-hibernate注解-多对多单向外键关联
- Hibernate基础:一对一单/双向,主/外键关联 @OneToOne@JoinColumn
- 037:hibernate一对一双向外键关联(Annotation)
- Hibernate 一对多外键双向关联
- Hibernate注解:一对多外键关联
- Hibernate一对一外键双向关联(Annotation配置篇)
- Hibernate Annotation @mappedBy含义在使用onetoone 时候【外键双向关联】(十三)
- Hibernate 一对多外键双向关联
- Hibernate中用注解配置一对多双向关联和多对一单向关联
- Hibernate 一对多外键双向关联
- 关于hibernate中双向外键关联one-to-one的property-ref=的问题
- 06-hibernate注解-一对多单向外键关联
- Hibernate one2one 外键双向关联
- Hibernate教程05_关系映射之一对一双向外键关联