开发者学堂课程【Java 面试疑难点串讲 3:开发工具及框架:Hibernate 控制反转】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/26/detail/553
Hibernate 控制反转
现在所说的是 Hibernate 中针对于关系的配置处理,所谓的控制反转就是把控制权交给了对方。
这种情况一般出现在数据的级联关系配置上:一对多、多对多。
现在假设以一个程序分析为例:一个人有多本书,在 hibernate 的世界里充满了神奇性,它可以自动将没有的数据进行增加处理。
因为正常的流程,首先一定要有一个人,而后这个人会有一个编号,那么在进行书的信息添加的时候就需要把这个人的编号一起保存进去。
如果现在不配置控制反转,他的处理:
增加人的信息;
增加所有书的信息,但是此时人的保存的关联字段内容是 null;
再更新所有书的信息,将人的关系的内容保存进来;
但是正常的流程(控制反转,也就是说将子表中与父表关联字段的使用控制权交给了子表自己控制):
保存人的信息,同时取得人编号,将这些编号设置到书的内容里面;
保存书的信息;