@ManyToMany 两个表多对多关联


两个表属于多对多关系 如 Teacher <=> Student

表teacher 主键 id

表student 主键id

中间关联表 teacher_student 两个字段 t_id 和 s_id

 

@Entity

Student 设置多对多

    @ManyToMany(cascade = CascadeType.PERSIST, fetch=FetchType.LAZY)
    @JoinTable(name="teacher_student",joinColumns={@JoinColumn(name="s_id")},inverseJoinColumns={@JoinColumn(name="t_id")})
    private Set<Teacher> teachers;

 

Teacher 设置多对多

    @ManyToMany(cascade = CascadeType.PERSIST, fetch=FetchType.LAZY)
    @JoinTable(name="teacher_student",joinColumns={@JoinColumn(name="t_id")},inverseJoinColumns={@JoinColumn(name="s_id")})
    private Set<Student> students;

 

1、关系两边都作为主控;

2、joinColumns中@JoinColumn(name="t_id") 其中t_id为JoinTable 中的外键,

由于 Student 和Teacher 的主键都为id 这边就省略referencedColumnName="id"

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM