日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(7) hibernate之级联cascade和关系维持inverse

發(fā)布時間:2024/1/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (7) hibernate之级联cascade和关系维持inverse 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

hibernate的關(guān)聯(lián)關(guān)系,重點(diǎn)在理解級聯(lián)cascade和inverse

1、cascade一般用在級聯(lián)保存,級聯(lián)更新,級聯(lián)刪除上
?
? ?1.1cascade注解有兩種,一種是基于hibernate注解
org.hibernate.annotations.Cascade
org.hibernate.annotations.CascadeType
支持一下級聯(lián)
ALL,
PERSIST//級聯(lián)持久化,調(diào)用session.persist()時會觸發(fā)級聯(lián)事件
MERGE//級聯(lián)保存或者更新,jpa規(guī)范 hibernate為了支持jsr220 后面添加的,調(diào)用session.merge()時觸發(fā)級聯(lián)
REMOVE,//級聯(lián)刪除,jpa規(guī)范同上,調(diào)用session.delete()時觸發(fā)
REFRESH,
DELETE,//級聯(lián)刪除,session.delete()觸發(fā)
SAVE_UPDATE,//級聯(lián)保存或者更新session.save(),session.update(),session.saveOrUpdate();
REPLICATE,
? ? 配置示例

@Cascade(value={org.hibernate.annotations.CascadeType.ALL}) private StudentInfo studentInfo ;
1.2第二種注解是基于jpa規(guī)范,也就是apache jsr220規(guī)范,也是ejb3的持久層規(guī)范
javax.persistence.CascadeType
? ? ALL,?
? ? ? ? PERSIST,調(diào)用session.persist()時觸發(fā)
? ? MERGE,調(diào)用session.merge()觸發(fā)
? ? ? ? REMOVE,調(diào)用session.delete()觸發(fā)
? ? ? ? REFRESH,
? ? ? ? DETACH
? ? 配置示例

@ManyToOne(cascade={CascadeType.MERGE}) @JoinColumn(name = "teacher_id") private Teacher teacher; 1.3級聯(lián)一般用在OneToOne和OneToMany上,這也是hibernate官方的推薦,有時候我們在開發(fā)中也用在 ? ? ? ? ? ?ManyToOne,ManyToMany上,只是想在測試上少寫點(diǎn)代碼而已,在持久化一個實(shí)體的時候級聯(lián)持久其他關(guān)聯(lián)實(shí)體,
? 如下:teacher和student是ManyToMany,加上了cascade注解,便于測試

@Test public void addStudentToTeacher(){ Student student1 = new Student("張三",20,20072733L); Student student2 = new Student("李四",20,20072734L); Student student3 = new Student("王五",20,20072735L); Teacher teacher = new Teacher("張老師"); teacher.getStudents().add(student3); teacher.getStudents().add(student2); teacher.getStudents().add(student1); this.teacherDao.save(teacher); }
2、inverse,英文意思是反向,反轉(zhuǎn)。在這里可以理解為控制反轉(zhuǎn),也就是說實(shí)體間的關(guān)系由誰控制,所以inverse用在實(shí)體關(guān)聯(lián)上。如OneToOne,OneToMany,ManyToMany?
? ? ?在OneToMany中,如果不指定inverse,那么hibernate會去找默認(rèn)的表來維持關(guān)系。
? ? ?例如用老師和課程兩個實(shí)體來說明,假設(shè)teacher和course是OneToMany的關(guān)系,
? ? ?配置如下:
? ? ?//通過外鍵teacher_id關(guān)聯(lián)teacher,inverse通過mappedBy來設(shè)置

@ManyToOne(cascade={CascadeType.MERGE}) @JoinColumn(name = "teacher_id") private Teacher teacher; @OneToMany(mappedBy="teacher",fetch=FetchType.LAZY,cascade={CascadeType.MERGE,CascadeType.REMOVE}) private Set<Course> courses = new HashSet<Course>();


在這里指定teacher的屬性courses的關(guān)系由關(guān)聯(lián)實(shí)體Course的teacher屬性維持,如果不配置,則會去找
關(guān)聯(lián)表teacher_course來維持關(guān)系。OneToOne和ManyToMany大同小異,這里不再累述!



總結(jié)

以上是生活随笔為你收集整理的(7) hibernate之级联cascade和关系维持inverse的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久成人免费电影 | 一区黄色 | 又黄又骚又爽 | 亚洲产国偷v产偷v自拍涩爱 | 粉嫩av国产一区二区三区 | 天天综合网久久综合网 | 成人日韩av| 麻豆高清 | 色中色综合 | 99在线播放| 四虎精品永久在线 | 日本成人在线免费观看 | 伊人啪啪| 精品国产aⅴ麻豆 | jjzz日本视频 | 六月婷婷网 | 国产亚洲欧美一区二区三区 | 亚洲第一毛片 | 亚洲免费观看在线 | 成人免费毛片日本片视频 | 亚洲综合在线五月 | 国产视频一区三区 | 精品久久久久中文慕人妻 | 北京富婆泄欲对白 | 九九在线观看高清免费 | 国产一区 在线播放 | 性色免费视频 | 少妇高潮一区二区三区四区 | 中文字幕一区二区三区在线播放 | 亚洲无码精品免费 | 手机在线观看免费av | 三级精品在线 | 欧美精品1 | 高h av| 一区二区 中文字幕 | 成人久久久久久 | 久久久看片 | 污片视频在线观看 | exo妈妈mv在线播放高清免费 | 欧美青草视频 | 精品一区二区在线视频 | 欧美三级又粗又硬 | 国产精品久久一区二区三区动 | 国产女主播在线观看 | 91蝌蚪少妇| 综合网色 | 日韩av在线直播 | 国产剧情av在线 | 色婷婷香蕉在线一区二区 | 国产高潮在线观看 | 久久久久亚洲无码 | 久久久久久999 | 伊人开心网 | 亚洲乱色熟女一区二区 | 好吊妞这里只有精品 | 18日本xxxxxxxxx95 国产又好看的毛片 | 蜜桃视频一区二区在线观看 | 成人在线视频免费 | 91中文国产 | 欧美成人毛片 | 97成人精品视频在线观看 | 色婷婷视频在线 | 波多野结衣 在线 | 男人和女人日批视频 | 国产免费av一区二区三区 | 黄色av软件| 日本中文字幕精品 | 久久伊人成人 | 伊人久久免费 | 狠狠操很很干 | 综合伊人久久 | 69网站在线观看 | 久久国产精品免费观看 | 美女网站黄页 | 国产aaaaa毛片 | 国产精品一区无码 | 中文字幕日韩欧美 | 国产成人精品在线视频 | 日韩伦理一区 | 黄网站在线观 | 97人人爽人人 | 成人免费区一区二区三区 | 日本成人在线视频网站 | 欧美女优一区 | 岳狂躁岳丰满少妇大叫 | 两性免费视频 | 日韩狠狠操 | 中文人妻熟妇乱又伦精品 | 麻豆回家视频区一区二 | 精品动漫一区二区三区的观看方式 | 无码精品人妻一区二区三区影院 | 免费荫蒂添的好舒服视频 | 久久黄网站| 成人美女免费网站视频 | 日韩激情小说 | 中文字幕av资源 | 免费在线观看a视频 | 森林影视官网在线观看 | 国产高清区 |