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

【Spring Boot 3】【JPA】嵌入式对象

【Spring Boot 3】【JPA】嵌入式对象

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

背景

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

介绍

日常开发过程中经常会遇到一些拥有很多字段的表,这些字段可以按照一定范围进行分组,但考虑到效率等因素不得已将所有这些字段都放在同一张表内,譬如员工信息表中既包含姓名、出生日期等基本信息,同时也包含该员工的联系信息,联系信息又由邮箱、手机号、通讯地址等组成,本可以将联系信息设计成单独的一张数据表,但为了避免多表联合查询的效率问题,将所有的这些字段都放入一张表内,从代码开发的角度出发,如果只定义一个员工Entity实体类并不一定合理,更合理的方案是将联系信息拆分成一个独立的类嵌入到员工Entity类中。

本文介绍开发Spring Boot应用时使用JPA如何处理类嵌套,主要使用两个注解:

  • @Embeddable:注释被嵌套的实体类,该实体不对应数据库中的表,只是一个Entity实体可重用的组件;
  • @Embedded:注释字段为嵌套类对象,即使Entity类的字段上没有使用此注解,但只要字段类型所属的类带有 @Embeddable 注解,JPA仍然会识别此字段。

开发环境

分类名称版本
操作系统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>
http://www.lryc.cn/news/292808.html

相关文章:

  • STM32控制DS18B20温度传感器获取温度
  • 服务器常遇的响应状态码
  • 云原生业务全流程DevOps配置预研与实践
  • SouthLeetCode-打卡24年01月第5周
  • 【国产MCU】-CH32V307-通用DMA控制器及使用
  • mysql8.0-cnf文件
  • MySQL进阶45讲【11】怎么更好地给字符串字段加索引?
  • ​(三)hadoop之hive的搭建1
  • Spring事务传播机制
  • 智能分析网关V4+EasyCVR视频融合平台——高速公路交通情况的实时监控和分析一体化方案
  • Vue3.0(一):Vue的引入-options api-模板语法
  • API网关-Apisix多节点搭建(RPM包方式)
  • HAL库配置片内FLASH读写
  • 日志记录——单片机可执行文件合并
  • 2024数模美赛C题F题完整代码结果展示
  • H5调用安卓原生相机API案例
  • Java面试——计网篇
  • 函数式接口当参数使用
  • 全面详解Maven的配置文件settings.xml
  • 【Spring连载】使用Spring Data访问Redis(十四)----Redis Repositories
  • 小鹏汽车穿越“生死线”
  • AIPC专题:深耕笔电背光模组领域,AIPC与车载显示拉动公司成长
  • 架构(十一)从0到1实现动态定时任务
  • Mybatis 批量插入数据 SQL
  • 【学员分享-考试心得】国产数据库潜力无限,云贝教育OBCP认证培训帮您解难题
  • 【Mysql】事务的隔离级别与 MVCC
  • MongoDB从入门到实战之MongoDB快速入门
  • Linux服务详解
  • 闲聊电脑(4)硬盘分区
  • 光耦合器的结构与原理解析