主要分享一下@OneToMany使用中踩到的坑!
首先描述一下我的业务需求
再User表中主键关联一张Floor表
代码如下:
user实体类中:
我的业务需求属于一对多的属性,所以直接再“一”的一方写上:
@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.EAGER)
@JoinColumn(name = "user_id" ,referencedColumnName = "id")
其中cascade=CascadeType.ALL,建议编写想用ALL后面根据需求做更改(先让数据插进去)。
fetch = FetchType.EAGER 该注解属于热加载业务需要,大家根据自己的需求设置。
@JoinColumn(name = “user_id” ,referencedColumnName = “id”)
主要说说这个, @JoinColumn注解的name属性关联的是你需要关联的另一张表的外键
referencedColumnName属性关联的是User实体类的里面的关联主键,如果正好的主键id可以不用写。
接下来我们来看看关联表:
关联表的实体类结构如下:
保证每个字段中的注解@Column中的name雨数据库表字段相同即可完成操作。
切记切记切记!! 先这样试一下,再去根据业务设置看看要不要设置双向关联 ,不然真的很头疼的。