課程
/后端開發
/Java
/Hibernate初探之一對多映射
不是說雙向重復建立關聯關系會影響性能嗎?而且通過設置inverse來確定是管理方是一還是多,為什么還要建立雙向?
2016-08-17
源自:Hibernate初探之一對多映射 3-4
正在回答
說的影響性能是指在建立雙向關聯關系的時候,一的一方和多的一方都維護了關聯關系,導致執行了不必要的sql,而影響了性能??梢栽谝坏囊环皆O置inverse為false,來指定多的一方維護關聯關系,這樣在老師的視頻里面可以發現少了2句update語句。
為什么還要建立雙向:建立了雙向之后你就可以從學生查找到班級,也可以從班級查找到學生了。否則如果你只建立了一對多的關聯關系,就只能從班級查找到學生,如果調用student.getGrade(),你拿到的是null;反之,如果你只建立了多對一的關聯關系,就只能從學生查找到班級,如果你使用grage.getStudents(),你拿到的是空的數組。
雙向設置關系是會產生影響性能的,但是在使用的適合會更方便
舉報
Hibernate中一對多關聯映射配置,以及cascade和inverse屬性作用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-01
說的影響性能是指在建立雙向關聯關系的時候,一的一方和多的一方都維護了關聯關系,導致執行了不必要的sql,而影響了性能??梢栽谝坏囊环皆O置inverse為false,來指定多的一方維護關聯關系,這樣在老師的視頻里面可以發現少了2句update語句。
為什么還要建立雙向:建立了雙向之后你就可以從學生查找到班級,也可以從班級查找到學生了。否則如果你只建立了一對多的關聯關系,就只能從班級查找到學生,如果調用student.getGrade(),你拿到的是null;反之,如果你只建立了多對一的關聯關系,就只能從學生查找到班級,如果你使用grage.getStudents(),你拿到的是空的數組。
2016-08-18
雙向設置關系是會產生影響性能的,但是在使用的適合會更方便