首页 > 其他分享 >关联映射概述

关联映射概述

时间:2023-05-09 16:46:44浏览次数:47  
标签:关系 映射 对象 关联 数据表 概述 类中 属性

关联映射关系

  在关系型数据库中,表与表之间存在着三种关联映射关系,分别为一对一关系、一对多关系和多对多关系。

     一对一关系:一个数据表中的一条记录最多可以和另一个数据表中的一条记录相关。例如,现实生活中学生与校园卡就属于一对一的关系,一个学生只能拥有一张校园卡,一张校园卡只能属于一个学生。

     一对多关系:主键数据表中的一条记录可以和另外一个数据表的多条记录相关。但另外一个数据表中的记录只能与主键数据表中的某一条记录相关。例如,现实中班级与学生的关系就属于一对多的关系,一个班级可以有很多学生,但一个学生只能属于一个班级。

    多对多关系:一个数据表中的一条记录可以与另外一个数据表任意数量的记录相关,另外一个数据表中的一条记录也可以与本数据表中任意数量的记录相关。例如,现实中学生与教师属于多对多的关系,一名学生可以由多名教师授课,一名教师可以为多名学生授课。

Java对象如何描述事物之间的关系

     数据表之间的关系实质上描述的是数据之间的关系,除了数据表,在Java中,还可以通过对象来描述数据之间的关系。通过Java对象描述数据之间的关系,其实就是使对象的属性与另一个对象的属性相互关联。

Java对象描述数据之间的关联映射关系有三种,分别是一对一、一对多和多对多。

一对一

  就是在本类中定义与之关联的类的对象作为属性,例如,A类中定义B类对象b作为属性,在B类中定义A类对象a作为属性。

一对多

  就是一个A类对象对应多个B类对象的情况,例如,定义在A类中,定义一个B类对象的集合作为A类的属性;在B类中,定义A类对象a作为B类的属性。

多对多

  在两个相互关联的类中,都可以定义多个与之关联的类的对象。例如,在A类中定义B类类型的集合作为属性,在B类中定义A类类型的集合作为属性。

代码实现

一对一查询

 

标签:关系,映射,对象,关联,数据表,概述,类中,属性
From: https://www.cnblogs.com/helloworldcode/p/17385514.html

相关文章

  • MySQL(二十)锁(一)锁的概述与S、X锁
    MySQL(二十)锁(一)锁概述、S锁和X锁1概述锁是计算机协调多个线程或进程并发访问某一资源的机制。​ 在程序开发过程中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是一些敏感的数据(如金额、订单等),就需要保证这个数据在任何时刻都最多只有一个线程在访问,以保证......
  • TCP系列01—概述及协议头格式
    目录 一、TCP简单介绍面向连接可靠性字节流式二、TCP的封装和协议头的格式三、TCP中的数据包窗口和滑窗一、TCP简单介绍connection-oriented)、可靠的(reliable)、字节流式(byte stream)传输协议, TCP的这三个特性该怎么理解呢?面向连接在应用TCP协议进行通信之前双方通常需要通......
  • Hibernate多对多双向关联(Annotation配置)
    Role.javapackagecom.many2many.bean;importjava.util.Set;importjavax.persistence.CascadeType;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationTyp......
  • Hibernate多对多双向关联(xml配置)
    Role.javapackagecom.many2many.bean;importjava.util.Set;publicclassRole{privateintid;privateStringname;privateSet<User>users;publicintgetId(){returnid;}public......
  • [Redis] 解决多个 Redis 服务同步删除有关联的 key
    以下内容基于ChatGPT的回答。我有多个redis服务,比如有A,B,C三个,他们供不同的业务服务使用。有一个需求是,A服务中删除一个key后,希望能同时删除B,C服务中有关联的key,但这个key名称不一样相同,关联关系是可配置的。请问有什么办法实现?解决方案可以使用Redis的发布......
  • 在cmd中运行javac编译java文件报错: 编码GBK的不可映射字符、 非法字符: \65279
    操作背景:我在eclipse建立了个HelloWorld.java文件,格式UTF-8,然后复制保存到C:\Users\alex\test目录下,在此处运行按住Shift+右键调出cmd命令窗口,输入命令:javac HelloWorld.java,然后报错:HelloWorld.java:6:错误:编码GBK的不可映射字符解决办法:方法一:带上编码utf-8,运行命令:javac-e......
  • 1.操作系统概述【操作系统:设计与实现】
    课程官网:https://jyywiki.cn/OS/2023/几个python的库:z3能求解方程组的python库sympy计算符号计算的库numpy数组、矩阵计算相关的学习的时候存在的一定的割裂性,因为不同学科之间存在概念的独立性,学科之间的互通也被打破了。主要的点是A学科用到了B学科的知识点,但A学科并......
  • R语言改进Apriori关联规则挖掘研究西安PM2.5含量与天气因素关系数据可视化
    全文链接:http://tecdat.cn/?p=32284原文出处:拓端数据部落公众号随着社会的发展,大数据(bigdata)一词越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新。而大数据的意义并不在“大”,而在于“有用”。价值含量、挖掘成本比数量更为......
  • JAVA中的两个容器StringBuilder和StringJoiner概述
    JAVA中的两个容器StringBuilder和StringJoiner概述StringBuilder可以看成一个容器,创建之后里面的内容是可以修改的方法名说明publicStringBuilderappend(任意类型)添加数据,并返回对象本身publicStringBuilderreverse()反转容器中的内容publicintlength()返......
  • 金仓数据库KingbaseES 两表关联Update的两种写法与性能
    原文链接:https://blog.csdn.net/arthemis_14/article/details/127886142熟悉oracle的人都知道,对于两表的关联更新,其执行计划主要有Filter和OuterJoin两种方式。对于大批量数据的update,Join方式明显是更优的选择。KingbaseES也支持两种方式的关联update,语法上采用两种不同......