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属性一定是外键的名字

 

posted @ 2015-09-15 02:47  mingziday  阅读(1629)  评论(1编辑  收藏  举报