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

【Spring Boot 3】【JPA】一对多单向关联

【Spring Boot 3】【JPA】一对多单向关联

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

背景

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

介绍

本文介绍开发Spring Boot应用时如何使用 @OneToMany 注解处理一对多单向关联关系,涵盖 主从双数据表带有中间关联关系表的三数据表 这两种存储一对多关联关系的实现。

本文定义了公司(Company)、工程师(Engineer)、经理(Manager)三个实体,其中公司(Company)与工程师(Engineer)、公司(Company)与经理(Manager)都是一对多单向关联,且关系主控方(即关系拥有方)都是公司(Company)。

开发环境

分类名称版本
操作系统WindowsWindows 11
JDKOracle JDK21.0.1
IDEIntelliJ IDEA2023.2.4
构建工具Apache Maven3.9.3
数据库MySQL8.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-many</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>
http://www.lryc.cn/news/304293.html

相关文章:

  • 工信部等九部门:打造一批实现制造过程数字孪生的数字化转型标杆工厂
  • 并发编程(2)基础篇-管程
  • OpenAI文生视频大模型Sora概述
  • [linux]进程间通信(IPC)———共享内存(shm)(什么是共享内存,共享内存的原理图,共享内存的接口,使用演示)
  • Go 原子操作有哪些?
  • 爬虫知识--02
  • SCI一区 | Matlab实现GAF-PCNN-MSA格拉姆角场和双通道PCNN融合注意力机制的多特征分类预测
  • Observability:使用 OpenTelemetry 和 Elastic 监控 OpenAI API 和 GPT 模型
  • 靡语IT:Vue精讲(一)
  • vue3 toRefs之后的变量修改方法
  • 【教程】详解相机模型与坐标转换
  • 171基于matlab的随机共振微弱信号检测
  • petalinux_zynq7 驱动DAC以及ADC模块之三:实现C语言API并编译出库被python调用
  • NXP实战笔记(五):S32K3xx基于RTD-SDK在S32DS上配置ADC的硬件触发同步采样与软件采样过程
  • pikachu靶场-CSRF
  • 【结合OpenAI官方文档】解决Chatgpt的API接口请求速率限制
  • C语言实现基础数据结构——栈
  • 船舶制造5G智能工厂数字孪生可视化平台,推进船舶行业数字化转型
  • 【网络编程】okhttp深入理解
  • 大功率厚膜电阻器制造 – 优化性能?
  • ElasticStack安装(windows)
  • gitlab的使用
  • 基于springboot+vue的植物健康系统(前后端分离)
  • Python爬虫实战入门:爬取360模拟翻译(仅实验)
  • 微服务-微服务API网关Spring-clould-gateway实战
  • ECMAScript modules规范示例详解
  • 【OpenFeign常用配置】
  • 第2.1章 StarRocks表设计——概述
  • WooCommerce商品采集与发布插件
  • select滑动分页请求数据