zoukankan      html  css  js  c++  java
  • 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属性一定是外键的名字

  • 相关阅读:
    vim对光标所在的数字进行增减
    fedora找开ftpd服务器并以root登陆
    wxwidget自定义消息处理步骤
    c++的检测的确比C++更严格
    php常用字符串操作函数
    如何判断一个数组是一维数组或者是二维数组?用什么函数?
    php 面试 题汇总
    php 数组 常用函数
    php 会话控制
    用tp实现中文验证码
  • 原文地址:https://www.cnblogs.com/mingziday/p/4809031.html
Copyright © 2011-2022 走看看