课程
/后端开发
/Java
/Hibernate初探之一对多映射
不是说双向重复建立关联关系会影响性能吗?而且通过设置inverse来确定是管理方是一还是多,为什么还要建立双向?
2016-08-17
源自:Hibernate初探之一对多映射 3-4
正在回答
说的影响性能是指在建立双向关联关系的时候,一的一方和多的一方都维护了关联关系,导致执行了不必要的sql,而影响了性能。可以在一的一方设置inverse为false,来指定多的一方维护关联关系,这样在老师的视频里面可以发现少了2句update语句。
为什么还要建立双向:建立了双向之后你就可以从学生查找到班级,也可以从班级查找到学生了。否则如果你只建立了一对多的关联关系,就只能从班级查找到学生,如果调用student.getGrade(),你拿到的是null;反之,如果你只建立了多对一的关联关系,就只能从学生查找到班级,如果你使用grage.getStudents(),你拿到的是空的数组。
双向设置关系是会产生影响性能的,但是在使用的适合会更方便
举报
Hibernate中一对多关联映射配置,以及cascade和inverse属性作用