Spring Data Jpa @OneToOne @OneToMany @ManyToOne @ManyToMany解疑

一、@OneToOne

假设一个场景,一个人只能领养一只宠物,根据人可以找到宠物,并查看宠物信息,关系是单向的。

需要加上@JoinColumn手动增加外键的映射关系,否则Spring Data就会自动创建中间表。

也有单向,双向之分。

二、@ManyToOne

比如员工表盒部门表,一个部门有多个员工,即多个员工归属一个部门。因此需要再员工表中增加@ManyToOne注释,并设置为懒加载。

需要加上@JoinColumn手动增加外键的映射关系,否则Spring Data就会自动创建中间表。

也有单向,双向之分。

三、@OneToMany

比如一个班级中有多个学生,因此在班级表中可以添加@OneToMany。

需要加上@JoinColumn手动增加外键的映射关系,否则Spring Data就会自动创建中间表。

四、@ManyToMany

比如一个用户有多个角色,一个角色也包含多个用户。

也有单向,双向之分。