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

 

相关文章:

  • 2021-08-06
  • 2018-04-16
  • 2021-11-09
  • 2022-12-23
  • 2021-05-17
  • 2022-12-23
  • 2021-05-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
  • 2021-09-02
  • 2021-09-19
  • 2021-12-06
相关资源
相似解决方案