JPA进阶-映射
一对多关系
单向
单向一对多用得比较少(性能差),但是还是需要了解,单向一对多其实就是在主表中添加ManyToOne的注解即可
双向
同时在两个类中添加注解,在使用双向连接的时候,主从表外键名称必须一致
这里设计主表为Department
1 | package com.ifueen.domian; |
从表Employee的设计
1 | package com.ifueen.domian; |
两个表的实体类创建好之后,测试以下,如果没有报错那么就表示成功了
1 | /** |
级联操作
为什么需要将两张表关联起来呢?因为将它们进行关联以后,我们便可以进行级联操作,虽然平时用的可能不是太多
级联添加
进行主表的添加,只需要设置好从表的数据,那么从表也会将数据添加进去
1 | /** |
级联删除(慎用!容易遭到整个项目组的毒打)
1 | /** |
多对多关系
单向多对多
单向的多对多其实用的都挺少的,而且使用单向,建表sql语句的冗余度也挺高的,所以这里不进行总结,如果需要了解,可以自行网上搜索一下
双向多对多
这里实现一个案例,通过案例来协助掌握双向多对多
两个表,user和role,分别对应导演和作品的,使他们之间进行关联起来
User表设计
1 | package com.ifueen.domian; |
Role表设计
1 | package com.ifueen.domian; |
两张表的实体类设计好,现在测试
1 | /** |
表结构就搭建好了
下面就可以写功能进行测试
1 | /** |
注意,在使用除了添加功能的时候,需要在生成组策略中配置为