天天看點

Hibernate 控制反轉|學習筆記

開發者學堂課程【Java 面試疑難點串講 3:開發工具及架構:Hibernate 控制反轉】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址:

https://developer.aliyun.com/learning/course/26/detail/553

Hibernate 控制反轉

現在所說的是 Hibernate 中針對于關系的配置處理,所謂的控制反轉就是把控制權交給了對方。

這種情況一般出現在資料的級聯關系配置上:一對多、多對多。

現在假設以一個程式分析為例:一個人有多本書,在 hibernate 的世界裡充滿了神奇性,它可以自動将沒有的資料進行增加處理。

因為正常的流程,首先一定要有一個人,而後這個人會有一個編号,那麼在進行書的資訊添加的時候就需要把這個人的編号一起儲存進去。

如果現在不配置控制反轉,他的處理:

增加人的資訊;

增加所有書的資訊,但是此時人的儲存的關聯字段内容是 null;

再更新所有書的資訊,将人的關系的内容儲存進來;

但是正常的流程(控制反轉,也就是說将子表中與父表關聯字段的使用控制權交給了子表自己控制):

儲存人的資訊,同時取得人編号,将這些編号設定到書的内容裡面;

儲存書的資訊;