@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