MappedBy

article/2025/9/29 7:19:43

对于mappedBy复习下:

a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性; 
b) mappedBy标签一定是定义在the owned side(被拥有方的),他指向the owning side(拥有方);
c) mappedBy的含义,应该理解为,拥有方能够自动维护 跟被拥有方的关系; 
   当然,如果从被拥有方,通过手工强行来维护拥有方的关系也是可以做到的。

d) mappedBy跟JoinColumn/JoinTable总是处于互斥的一方,可以理解为正是由于拥有方的关联被拥有方的字段存在,拥有方才拥有了被 拥有方。mappedBy这方定义的JoinColumn/JoinTable总是失效的,不会建立对应的字段或者表

 


人跟身份证双向关联

在Person 里面定义的注解:

@OneToOne(cascade={CascadeType.ALL},optional=true) 
public IDCard getIdCard() { 
         return idCard; 
}

在IDCard 里面定义的注释: 
@OneToOne(cascade=CascadeType.ALL,mappedBy="idCard" , optional=false) 
public Person getPerson() { 
       return person; 

多了一个mappedBy这个方法,它表示什么呢?它表示当前所在address表和Person的关系是定义在Person里面的idCard这个成员上面的,它表示此表address是一对一关系中的从表,也就是关系是在person表里面维护的 ,这一点很重要 . Person表是关系的维护者,owner side,有主导权,它有个外键指向IDCard。 
我们也可以让主导权在IDCard上面,也就是让它产生一个指向Person的外键,这也是可以的,但是最好是让Person来维护整个关系,这样更符合我们正常的思维 .

我们也可以看到在Person里面IDCard是注释是optional=true,也就是说一个人是可以没有身份证的,但是一个身份证不可以没有人,所以在IDCard里面注释person的时候,optional就为false了,这样就可以防止一个空的身份证记录

进数据库.




  1. @Entity  
  2. @Table(name = "userInfo", schema = "dbo", catalog = "oa", uniqueConstraints = @UniqueConstraint(columnNames = "name"))  
  3. public class UserInfo implements java.io.Serializable {  
  4. private Integer userId;  
  5.   
  6.     private DepartmentInfo departmentInfo;  
  7. //other field  
  8.   
  9. @ManyToOne(fetch = FetchType.LAZY)  
  10.     @JoinColumn(name = "departmentId", nullable = false)  
  11.     public DepartmentInfo getDepartmentInfo() {  
  12.         return this.departmentInfo;  
  13.     }  
  14.   
  15. //other getter setter  
  16. }  

Java代码   收藏代码
  1. @Entity  
  2. @Table(name = "departmentInfo", schema = "dbo", catalog = "oa")  
  3. public class DepartmentInfo implements java.io.Serializable {  
  4. private Integer departmentId;  
  5. private Set<UserInfo> userInfos = new HashSet<UserInfo>(0);  
  6. //other field  
  7. @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "departmentInfo")  
  8.     public Set<UserInfo> getUserInfos() {  
  9.         return this.userInfos;  
  10.     }  
  11. //other getter setter  
  12. }  
  13. 上面是一对多,多对一关系,DepartmentInfo 实体和UserInfo实体 的关系保存在表userInfo中的
  14. 所以在DepartmentInfo 实体中使用mappedBy属性,在UserInfo实体中使用 
  15. @JoinColumn属性。
mappedBy表示被拥有者是 departmentInfo表,        拥有者是userInfo表,


http://chatgpt.dhexx.cn/article/c1DKPLOh.shtml

相关文章

Data Mapper

使用 Data Mapper分离数据源的Model和页面现实的Model&#xff0c;不要因为数据源的增加、修改或者删除&#xff0c;导致上层页面也要跟着一起修改 interface Mapper<I,O> {fun map(input:I):O }data class CarEntity(var no:String) data class CarModel(var num:String…

全网最详细的postman接口测试教程,一篇文章满足你

目录 目录 1、前言 2、接口理论 3、接口实例 一、POST 二、GET 4、总结&#xff1a; 1、前言 之前还没实际做过接口测试的时候呢&#xff0c;对接口测试这个概念比较渺茫&#xff0c;只能靠百度&#xff0c;查看各种接口实例&#xff0c;然后在工作中也没用上&#xff0c;…

简单粗暴的PostMan使用说明文档让你一片文章看懂PostMan怎么使用

PostMan功能简单介绍 创建文件夹 点击Collections创建新的文件夹&#xff0c;可以将不同的接口存入不同的文件夹中 点击右边三个点可以进行设置&#xff0c;Rename是重新命名 点击Add request&#xff0c;会在右侧创建一个get请求方式的request。 点击Add Folder&#xff0…

postman基础使用教程

Postman教程大全 - 简书推荐一款接口测试工具&#xff01;POSTMAN&#xff01;简单来说&#xff0c;四个词&#xff0c;简单实用大方美观&#xff01; Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 Postman背景...https://www.jianshu.com/p/97ba64888894 …

不会接口测试?用Postman轻松入门(一)—— Postman实现get和post请求

测试行业现在越来越卷&#xff0c;不会点接口测试好像简历都已经拿不出手了&#xff0c;但很多小伙伴都会头疼&#xff1a;接口测试应该怎么入门&#xff1f;那么多的接口测试工具应该学哪个&#xff1f; 其实&#xff0c;接口测试工具&#xff0c;就像吃饭用的筷子&#xff0…

Postman快速入门(一)

一、基本介绍 postman是一款流程的接口调试工具&#xff0c;其特点就是使用简单&#xff0c;功能强大。使用角色也非常广泛&#xff0c;后端开发&#xff0c;前端人员&#xff0c;测试人员都可以使用它进行接口调试或测试。 下图是基本功能介绍 发送第一个请求 如果你是第一次…

Postman工具介绍以及使用方法教程(一)

Postman工具 1、postman简介 Postman最早是Google浏览器的一个插件存在的&#xff0c;因为Google退出国内市场&#xff0c;现在postman主要是以一个 APP的形式存在。 Postman最初设计上就是为接口测试而设计的&#xff0c;对于测试人员来说主要用来做接口测试。 2、postman的…

使用PostMan上传文件,有图易懂

现在&#xff0c;越来越多的人习惯用postman来测试接口。那么&#xff0c;关于如何使用postman来上传文件&#xff0c;本文进行讲解 1、将请求方式选择为post 2、填写接口地址 3、填写请求头 key&#xff1a;Content-Type value&#xff1a;multipart/form-data 4、填写Body…

postman-使用post请求

一. postman简介 Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上…

Postman全网最详细使用教程

Postman全网最详细使用教程 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「postman」, 获取postman插件和安装程序&#xff1a; http://www.javaman.cn/jszw/postman 一、postman的安装 postman的安装分为两种&#xff0c;通过chrome浏览器插件安装…

Postman-APIs是干什么的?

最近用postman探索接口自动化&#xff0c;发现里面的APIs这个模块&#xff0c;很少用到&#xff0c;平常都是直接在Collections模块创建请求就完事了。但是想做自动化时&#xff0c;发现需要先把接口定义出来&#xff0c;基于接口创建用例&#xff0c;这样直接用Collections就显…

2022最新Postman安装以及基本操作使用教程

一、postman安装 Postman一款非常流行的API调试工具。其实&#xff0c;开发人员用的更多。因为测试人员做接口测试会有更多选择&#xff0c;例如Jmeter、soapUI等。不过&#xff0c;对于开发过程中去调试接口&#xff0c;Postman确实足够的简单方便&#xff0c;而且功能强大。…

接口测试之Postman使用全图文指南(原来使用Postman测试API接口如此简单)

为什么要做接口测试&#xff1f; 接口的由来&#xff1a; 连接前后端以及移动端。 因为不同端的工作进度不一样&#xff0c;所以需要对开始出来的接口进行接口测试。 做接口测试的好处&#xff1a; 1、节约时间&#xff0c;缩短项目成本 2、提高工作效率 3、提高系统的健壮性…

Postman使用小技巧 - 用Postman生成Request代码

Postman这款工具可以让你很方便的测试你的Web API&#xff0c;那如果你实在是没办法用Postman&#xff0c;必须手写代码&#xff0c;又或者你有别的需求是Postman没法实现的&#xff0c;你必须写一个特殊的script或App来测试你的接口&#xff0c;那这时候是不是Postman就没有用…

Postman工具的简单介绍

Postman工具简单介绍 前言一、侧边栏二、工具栏三、构建器四、控制台五、菜单栏六、状态栏七、选项卡和窗口八、键盘快捷键九、数据编辑器十、支持多行 前言 Postman提供了一种多窗口和多选项卡页面用于发送和接收接口请求&#xff08;如图&#xff09;Postman努力保持清洁和灵…

一文带你全面解析postman工具的使用(效率篇)

说明&#xff1a;由于前面的一文篇幅太大&#xff0c;导致无法放在一文发布&#xff0c;故这篇文章只是postman工具介绍的第二部分&#xff0c;若需要回看第一部分内容可通过如下链接&#xff1a;​​​​​​​一文带你全面解析postman工具的使用 。接下来介绍的内容是基于上文…

全面解析postman工具的使用

postman是一款支持http协议的接口调试与测试工具&#xff0c;其主要特点就是功能强大&#xff0c;使用简单且易用性好 。无论是开发人员进行接口调试&#xff0c;还是测试人员做接口测试&#xff0c;postman都是我们的首选工具之一 。那么接下来就介绍下postman到底有哪些功能&…

一文带你全面解析postman工具的使用(基础篇)

postman是一款支持http协议的接口调试与测试工具&#xff0c;其主要特点就是功能强大&#xff0c;使用简单且易用性好 。无论是开发人员进行接口调试&#xff0c;还是测试人员做接口测试&#xff0c;postman都是我们的首选工具之一 。那么接下来就介绍下postman到底有哪些功能&…

向下取整向上取整

我们平时用5/22是向下取整&#xff0c;而负数的话是-7/2-3,是向上取整 在一些题目他会要求向上取整还是向下取整 可以用这个函数 函数原型 double floor(doube x);//都是double类型&#xff01;&#xff01;&#xff01;头文件 #include<math.h>向上取整 ceil&#xf…

动态规划(DP)(算法笔记)

本文内容基于《算法笔记》和官方配套练题网站“晴问算法”&#xff0c;是我作为小白的学习记录&#xff0c;如有错误还请体谅&#xff0c;可以留下您的宝贵意见&#xff0c;不胜感激。 文章目录 前言一、动态规划概述二、算法设计1.上楼||2.最大连续子序列和动态规划分治 3.最大…