Jpa之关联对象(单向多对多)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jpa之关联对象(单向多对多)相关的知识,希望对你有一定的参考价值。

参考技术A 多对多的关系会生成一张中间表来建立关联,可以对中间表进行配置,以达到满意的效果!
@JoinTable描述了多对多关系的数据表关系。name属性指定中间表名称,joinColumns定义中间表与Teacher表的外键关系。
中间表tea_stu的tea_id列是Teacher表的主键列对应的外键列,inverseJoinColumns定义了中间表与另外一端(Student)的外键关系。

执行了11条SQL,先插入老师的信息,再插入学生的信息,再更新中间表的信息(学生与老师的关系)。

当没有去使用list集合时,此时并没有去执行查询list集合数据,说明是延迟加载!
小结:
1.配置单向多对多的关系时,只需要使用注解@manyTomany
2.多对多会生成中间表来维护双方的关系
3.需要重新配置中间表的信息时,需要使用注解@JoinTable(name="中间表名",joinColumns = @JoinColumn(name = "当前表的外键名"),inverseJoinColumns=@JoinColumn(name = "关联表的外键名"))。
4.添加数据时,都会发送大量的SQL,不仅要添加两张表的数据,还要添加中间表的关系,所以效率低。

以上是关于Jpa之关联对象(单向多对多)的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate之关于多对多单向关联映射

hibernate的映射之三(多对多单向关联)

Hibernate关联关系之多对多

hibernate多对多关联映射

hibernate学习四 hibernate关联关系映射

hibernate------映射相关