例子:班级和学生,如果通过保存班级来保存学生,Hibernate会通过班级来设置学生表的班级外键,会多一条Update语句。如果用学生来维护关系,Hibernate直接生产两个表对应的insert语句即可。
代码如下:1.使用部门来级联老师

得出的SQL语句:

2.使用老师来级联部门

得出的SQL语句:

注意:1.不需要将老师加入老师的集合中即可。2.两种做法都需要在配置文件中加cascade属性。
总结:使用多的一方来维护关系的效率会高一点。
本文探讨了在Hibernate中使用不同级联策略对性能的影响,通过对比部门级联老师与老师级联部门的方式,阐述了多对一和一对多关系管理的最佳实践。
例子:班级和学生,如果通过保存班级来保存学生,Hibernate会通过班级来设置学生表的班级外键,会多一条Update语句。如果用学生来维护关系,Hibernate直接生产两个表对应的insert语句即可。
代码如下:1.使用部门来级联老师

得出的SQL语句:

2.使用老师来级联部门

得出的SQL语句:

注意:1.不需要将老师加入老师的集合中即可。2.两种做法都需要在配置文件中加cascade属性。
总结:使用多的一方来维护关系的效率会高一点。

被折叠的 条评论
为什么被折叠?
