mappedBy:

1:只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;
2:mappedBy标签一定是定义在被拥有方的,他指向拥有方;
3:mappedBy的含义,应该理解为,拥有方能够自动维护跟被拥有方的关系,当然,如果从被拥有方,通过手工强行来维护拥有方的关系也是可以做到的;
4:mappedBy跟joinColumn/JoinTable总是处于互斥的一方,可以理解为正是由于拥有方的关联被拥有方的字段存在,拥有方才拥有了被拥有方。mappedBy这方定义JoinColumn/JoinTable总是失效的,不会建立对应的字段或者表。

mappedBy表示声明自己不是一对多的关系维护端,由对方来维护,是在一的一方进行声明的。mappedBy的值应该为一的一方在多的一方的属性名字。

例如:书籍与种类,一个种类有多本书。
在种类实体类中

@OneToMany(mappedBy="kind")
@Cascade(CascadeType.ALL)
private List<book> book;

完整例子:Company与flight(一对多)

@Entity
@Table(name="t_company")
public class Company extends BaseEntity<Long>
{private String companyName;private List<Flight> flights = new ArrayList<Flight>();public String getCompanyName() {return companyName;}@OneToMany(cascade=CascadeType.ALL,mappedBy="company",fetch=FetchType.LAZY)public List<Flight> getFlights() {return flights;}public void setFlights(List<Flight> flights) {this.flights = flights;}

@Entity
@Table(name="t_flight")
public class Flight extends BaseEntity<Long>
{private String flightCode;private Company company;public String getFlightCode() {return flightCode;}@ManyToOne(cascade=CascadeType.ALL)//多对一级联删除,使用ALL建议先移除关系(update)再deletepublic Company getCompany() {return company;}public void setFlightCode(String flightCode) {this.flightCode = flightCode;}public void setCompany(Company company) {this.company = company;}
}

关于hibernate的mappedBy的使用:相关推荐

  1. Hibernate之mappedBy

    Hibernate之mappedBy 摘要: 一.mappedBy单向关系不需要设置该属性,双向关系必须设置,避免双方都建立外键字段 数据库中1对多的关系,关联关系总是被多方维护的即外键建在多方,我们 ...

  2. org.hibernate.AnnotationException: mappedBy reference an unknown target entity property

    org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: xxxxxxx 原因是 ...

  3. hibernate中mappedby的理解

    mappedBy的意思就是"被映射",即mappedBy这方不用管关联关系,关联关系交给另一方处理 1.规律:凡是双向关联,mapped必设,因为根本都没必要在2个表中都存在一个外 ...

  4. hibernate 配置@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY) 主导方问题删除问题。

    hibernate 配置@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)  ?? 多对一的关系 ,关系有一个主导方.主导方应该是one的 ...

  5. mappedBy reference an unknown target entity property 错误 @ManyToMany(mappedBy @OneToMany(mappedBy

    mappedBy reference an unknown target entity property 错误 @ManyToMany(mappedBy = @OneToMany (mappedBy ...

  6. linux查看命令类型,查看linux命令类型

    LINUX 虚拟机克隆与网络配置 虚拟机克隆后,启动之后发现网卡没有启动.发现提示错误信息"Device eth0 does not seem to be present, delaying ...

  7. springboot笔记整理

    在搭建简单的demo程序时 出现如上报错问题,  经查询得出    关于idea 中使用mybastis报出 Invalid bound statement (not found)的错误解决方案  m ...

  8. 码农小汪-Hibernate学习8-hibernate关联关系注解表示@OneToMany mappedBy @ManyToMany @JoinTable...

    近期我也是有点郁闷,究竟是程序中处理关联关系.还是直接使用外键处理关联关系呢?这个的说法不一致!程序中处理这样的关联关系的话.自己去维护这样的约束.这样的非常乐观的一种做法!或者是直接在数据库中处理这 ...

  9. Hibernate中,mappedBy和注解@JoinColumn的对比

    mappedBy 我们知道,mappedBy用于指定具有双向关系的两个实体中.哪个实体是被关联处理的.它有如下四个特点: 1.只有OneToOne,OneToMany,ManyToMany上才有map ...

  10. hibernate - mappedby的理解

    mappedBy的意思就是"被映射",即mappedBy这方不用管关联关系,关联关系交给另一方处理 1.规律:凡是双向关联,mapped必设,因为根本都没必要在2个表中都存在一个外 ...

最新文章

  1. python 中float 的语法_python语法和基本数据类型
  2. 全球与中国InGaAs光电二极管传感器市场投资机会与市场风险评估报告2022-2028年
  3. BAT脚本加防火墙455端口
  4. 开源 程序员清单_2015开源夏季阅读清单
  5. linux和windows接口中文乱码_Loadrunnerweb接口基础
  6. 人工智能的数学基础(二):函数
  7. pd.stats.ols.MovingOLS以及替代
  8. spring中怎么访问MySQL过程_DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量...
  9. 1061. 判断题(15)-PAT乙级真题
  10. string 转换int
  11. wordpress rest api 登录_Python构建RESTful网络服务[Django篇:生成API文档]
  12. 华为的哪个字体像苹果的_华为默认字体是什么字体
  13. SDNUOJ 1520.采药(多重背包问题)
  14. 浅析javaIO的原理过程
  15. 如何使用计算机计算平方面积,尺平方米换算计算器(面积单位换算器)
  16. 2018.10.31-dtoj-4015-永琳的竹林迷径(path)
  17. 水滴筹、轻松筹死磕健康保
  18. 北大计算机专业考研难不难,北京大学考研有多难 二本考研上北大经验谈
  19. 正则表达式的或匹配——[]和|(优先匹配)
  20. Bmob用户功能详解(三)

热门文章

  1. 华为USG6000防火墙安全策略配置实例(CLI方式)
  2. 计算机台账管理需求分析,结合工作经验研究数据中心机房管理统计的需求和实方式论文...
  3. JS基础知识大总结史上最全(已完结~)
  4. Ab压力测试Http
  5. 16进制颜色代码转RGB代码
  6. magisk下载里显示没有模块_magisk框架
  7. java单例模式[附代码实现]
  8. 经纬度PLT文件格式说明
  9. 平板电脑(台电x80HD)安装Ubuntu18.04教程- Z3735系列CPU通用
  10. 电阻的种类以及选型要点