Hibernate的单向OneToMany、单向ManyToOne
单向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属性一定是外键的名字