单向OneToMany
一个用户有多张照片,User----->Images是一对多关系,在数据库中Images维护一个外键useid
1、在映射关系的主控方Image这边,我们什么都不做。(为什么说Images是主控方呢?因为外键又Images维护)
2、在映射关系的被控方User这边,需要添加@OneToMany、@JoinColumn注解
public class User{ @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name="userid")//注释的是另一个表Images指向本表的外键。List<Image> images;public List<Image> getImages() { return images; }public setImages(List<Images> img){ images = img;}}
单向ManyToOne
多个用户属于一个国家,User----->Country是多对一关系,在数据库中User维护一个外键countryid
1、在映射关系的主控方User这边,需要添加@ManyToOne、@JoinColumn注解
public class User{ @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name="countryid")//注释的是另一个表Images指向本表的外键。Country country;public Country getCountry() { return country; }public setCountry(Country cou){ country = cou;}}
2、在映射关系的被控方Country这边,我们什么都不做
单向关联总结
1、表A需要获取关联表B的数据,那么表A就要在自己的实体定义里面设置相关注解,而表B不需要设置
2、@JoinColumn注解的name属性一定是外键的名字
时间: 2025-01-18 10:53:53