当前位置: 首页 > news >正文

【Spring Boot 3】【JPA】一对一双向关联

【Spring Boot 3】【JPA】一对一双向关联

  • 背景
  • 介绍
  • 开发环境
  • 开发步骤及源码
  • 工程目录结构
  • 总结

背景

软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时间精力。因此本文旨在通过一篇文章即能还原出可工作的、甚至可用于生产的DEMO,期望初学者能尽快地迈过0到1的这一步骤,并在此基础上不断深化对相关知识的理解。
为达以上目的,本文会将开发环境、工程目录结构、开发步骤及源码尽量全面地展现出来,文字描述能简则简,能用代码注释的绝不在正文中再啰嗦一遍,正文仅对必要且关键的信息做重点描述。

介绍

《【Spring Boot 3】【JPA】一对一单向关联》 说明了开发Spring Boot应用时如何使用 @OneToOne 注解处理一对一单向关联关系,本文介绍如何处理一对一双向关联关系。

存储一对一关联关系通常使用 主从双数据表,其中 主表 中有外键指向 从表,有时也会使用 三数据表,即存在一个 中间关联关系表。本文基于 主从双数据表 实现。

开发环境

分类 名称 版本
操作系统 Windows Windows 11
JDK Oracle JDK 21.0.1
IDE IntelliJ IDEA 2023.2.4
构建工具 Apache Maven 3.9.3
数据库 MySQL 8.0.33

开发步骤及源码

1> 创建Maven工程,添加依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.jiyongliang</groupId>
        <artifactId>springboot3-jpa</artifactId>
        <version>0.0.1</version>
    </parent>
    <artifactId>springboot3-jpa-one-to-one-bi</artifactId>

    <properties>
        <java.version>21</java.version>
        <maven.compiler.source>21</maven.compiler.source>
        <maven.compiler.target>21</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring-boot.version>3.2.2</spring-boot.version>
        <mysql-connector-j.version>8.3.0</mysql-connector-j.version>
        <flyway.version>10.6.0</flyway.version>
        <lombok.version>1.18.30</lombok.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependen

相关文章:

  • 【Git工具实战】实用真实 Git 开发工作流程
  • Sora背后的论文(1):使用 lstms 对视频展现进行无监督学习
  • 《springcloud alibaba》 一 Openfeign
  • 2024年刷题记录
  • 【51单片机】直流电机驱动(PWM)(江科大)
  • 备战蓝桥杯—— 双指针技巧巧答链表1
  • vue3组件通信方式汇总
  • 【高德地图】Android高德地图初始化定位并显示小蓝点
  • C语言概述
  • Docker Image(镜像)
  • 用html编写的招聘简历
  • 后端设计PNR一点总结
  • 数据挖掘-Weka的安装与使用
  • bat脚本 创建计划任务 一分钟设置ntp同步周期为60s
  • @ControllerAdvice 统一管理异常/错误
  • jvm垃圾收集器-三色标记算法
  • 【elasticsearch实战】知识库文件系统检索工具FSCrawler
  • leetcode hot100组合综合四
  • neo4j常用代码
  • nginx 日志改为json格式
  • 郭继孚被撤销全国政协委员资格,此前为北京交通发展研究院长
  • 中使馆:奉劝菲方有关人士不要在台湾问题上挑衅,玩火者必自焚
  • 青海省林业和草原局副局长旦增主动投案,正接受审查调查
  • 以“最美通缉犯”为噱头直播?光明网:违法犯罪不应成网红跳板
  • 上海市市管干部任职前公示:赵亮拟为地区区长人选
  • 文旅部:推动离境退税购物便利化有利于更多国内优质商品走出去