小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

hibernate一對(duì)多,多對(duì)多關(guān)系

 昵稱27831725 2017-10-29
復(fù)習(xí)一對(duì)多的關(guān)系 ,(不講多對(duì)一的關(guān)系)

老師 課程 

一個(gè)老師可以上多個(gè)課程,一個(gè)課程,只能由一個(gè)老師來(lái)上

對(duì)象設(shè)計(jì):

站在老師的角度
Set courses - getCourses()

站在課程的角度

teacher getTeacher()


數(shù)據(jù)庫(kù)的設(shè)計(jì):

在多方增加一個(gè)外鍵

課程id  課程名稱  ...  教師id
1       c語(yǔ)言           1
2       java            2


錯(cuò)誤的設(shè)計(jì)

教師id 教師名稱  ....  課程id
1      張老師          1,2         (不符合數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范)


另外,有mappedBy的對(duì)象方,其實(shí)體表中不會(huì)生成外鍵

=========================================================

多對(duì)多關(guān)系

 學(xué)生 和 課程

 一個(gè)學(xué)生可以選擇多門課程,一門課程,也可以被多個(gè)學(xué)生選擇

學(xué)生
Student(id,name,sex,pwd,phone,grade,photo)

課程
Course(id,name,type,hours)

數(shù)據(jù)庫(kù)的設(shè)計(jì):

中間表
student-course(sid,cid)

 數(shù)據(jù)庫(kù)表關(guān)系
 sid cid
 1 1
 1 2
 2 1
 2 2

 對(duì)象關(guān)系:

 一個(gè)學(xué)生可以選擇多門課程,一門課程可以被多個(gè)學(xué)生選擇
 
 1.站在學(xué)生的角度,有一個(gè)屬性叫做courses
   可以通過(guò)getCourses(),得到自己選擇的所有課程

 2.站在課程的角度,有一個(gè)屬性叫做students
   可以通過(guò)getStudents,得到選擇這門課程的所有學(xué)生

選擇一方來(lái)維護(hù)關(guān)聯(lián)關(guān)系,叫做主表

維護(hù)關(guān)聯(lián)關(guān)系的一方

通過(guò)學(xué)生來(lái)添加課程
student.setCourses(....)

或者

通過(guò)課程來(lái)添加學(xué)生
course.setStudents(...)

http://blog.csdn.net/oyzl68/article/details/8176009

@ManyToMany
@JoinTable(
name="student_course", 
joinColumns={@JoinColumn(name="sid")}, 
inverseJoinColumns={@JoinColumn(name="cid")} 

@JoinTable(
   name="student_course", 
   joinColumns=@JoinColumn(name="sid"),
   inverseJoinColumns=@JoinColumn(name="cid")






    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多