红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Spring Boot 学习笔记
Spring Boot 学习笔记
Spring Boot 学习笔记

从零开始 Spring Boot 61:JPA 中的级联类型

图源:简书 (jianshu.com) 关系型数据库的增删改查操作会因为有关联关系而存在“级联操作”的需要,体现在 JPA 中,就是实体中会定义的级联类型(Cascade Type)。 JPA 中的级联类型由枚举jakarta.persistence.CascadeType表示,包括: ALL PERSIST MERGE REMOVE REFRESH DETACH 这些级联类型对应实体对象的状态转换操作,具体可以参考这篇文章。 ALL包含其他所有的操作。 下面详细说明这些级联类型的用途和影响。 示例 本文将使用以下…

2023年7月5日 0条评论 1333点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 60:一个实体映射到多个表

图源:简书 (jianshu.com) 在之前的文章中我们讨论了 JPA 中的一对一关系,实际上存在一种特殊的一对一关系,即将一个实体映射到多张表,本文会讨论这种关系。 我之前提过,有时候会因为性能上的考量将一张表拆分成多张表,虽然拆分后也可以用一对一关系来表示和实现,但这样并不是特别合适,因为一对一关系中一边的关系是可以为null的,比如说一个学生对应一个电子邮件地址,也可能有的学生没有电子邮件地址,此时email表可能就没有一条对应的数据。但如果是从同一张表上拆分出的两张表,必然存在一对一的关系,即使另一张表中…

2023年7月4日 0条评论 1834点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 59:Hibernate 日志

图源:简书 (jianshu.com) Hibernate 支持多种日志模块,本文介绍如何在 Spring Boot 中使用 Log4j2记录 Hibernate 日志。 实际上本文是我在写上篇文章时遇到的各种坑和最终解决的记录。 首先需要添加 Log4j2 的依赖,并排除 Spring Boot 默认使用的 logging common 日志模块: <dependency>    <groupId>org.springframework.boot</groupId>    &l…

2023年7月4日 0条评论 1059点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 58:JPA中的多对多关系

图源:简书 (jianshu.com) 之前用两篇文章介绍了 JPA 中的一对一关系和一对多关系,实际上日常开发更多见的是多对多关系,本文将介绍如何在 JPA 中实现实体的多对多关系。 假设这里有两张表,学生表和课程表,我们需要将其对应起来。这两张表之间存在多对多的关系:一个学生可以选择多个课程,一个课程可以被多个学生选择。 可以用数据模型表示为: 我们用一个中间表(关联表)保存两个表之间的这种多对多的关联关系。 这里有一个细节,两个表与关联表之间的关系是一对多的。这很好理解,一个学生可以在关联表中出现多次。同样的…

2023年7月4日 0条评论 1333点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 57:JPA中的一对多关系

图源:简书 (jianshu.com) 在上篇文章中我们介绍了如何在 JPA 中实现实体的一对一关系,在关系型数据库设计中,除了一对一关系,还存在一对多关系。本篇文章介绍如何在 JPA 中实现一对多关系。 模型 假设我们有两张表,学生表和电子邮件账号表,一个学生可以有多个电子邮件账号,一个电子邮件账号只能对应一个学生,这是典型的一对多关系,用数据库模型可以表示为: 实体 用 JPA 实体实现就是: @Entity @Table(name = "user_student") public class Student …

2023年7月3日 0条评论 1198点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 56:JPA中的一对一关系

图源:简书 (jianshu.com) 在对数据库进行建模的时候,有些表之间是存在关联关系的,这种关联关系分为多种: 一对一 一对多 多对多 这篇文章将介绍如何在 JPA(Hibernate)中实现一对一关系。 其余的关联关系会在之后介绍。 通过外键关联 即使都是一对一的关系,也会因为你建模的不同而有不同的实现方式,这里先介绍最常见的——两个表之间通过外键进行关联。 假设我们的项目中需要两张表,学生和附加的一些额外学生信息,两张表的关系可以用以下模型表示: student表保存基本信息,student_info表保…

2023年7月2日 0条评论 1328点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 55:JPA 中的主键和唯一索引

图源:简书 (jianshu.com) 在表结构设计中,我们用主键来确保一条数据在表中的唯一性。类似的,可以用唯一索引确保某列数据都是唯一的。如果需要限制多个列的唯一性,还可以使用联合唯一索引。 本文将探讨如何在 JPA (Hibernate)中使用主键和唯一索引。 主键 通过之前的文章,我们已经很熟悉怎么在实体中设置一个自增主键了,这也是表结构设计中最常见的方式。但严格来说,对于关系型数据库这并不是必须的。实际上这是日常开发应用中的一种“改良”,使用一个唯一的自增索引可以降低表结构设计的复杂度,并且在利用 Id …

2023年7月1日 0条评论 1527点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 54:@NotNull in Entity

图源:简书 (jianshu.com) 之前通过两篇文章介绍了 Hibernate Validation 在 Spring 中的应用: 从零开始 Spring Boot 13:参数校验 - 红茶的个人站点 (icexmoon.cn) 从零开始 Spring Boot 30:数据校验 - 红茶的个人站点 (icexmoon.cn) 实际上这些的数据校验注解也可以在 JPA 的实体类中使用,本文会展示如何在实体类中使用@NotNull注解用于数据校验,以及其和@Column注解的异同。 @NotNull 先看实体类: …

2023年6月30日 0条评论 979点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 53:JPA 属性转换器

图源:简书 (jianshu.com) 这篇文章介绍如何在 JPA(Hibernate)中使用属性转换器。 在前篇文章中,我介绍了如何使用@Embedded和@Embeddable将一个类型嵌入实体类,并映射表结构中的某几列数据。实际上,在日常开发中,将一些当前表的附加信息单独存储成一个序列化或 JSON 格式的字段是很常见的情况。 下面就演示怎么在 JPA 中这么做。 实体类 首先,看作为示例的实体类: @AllArgsConstructor @Builder @Data @Entity @Table(name …

2023年6月30日 0条评论 1291点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

从零开始 Spring Boot 52:@Embedded 和 @Embeddable

图源:简书 (jianshu.com) 这篇文章会介绍@Embedded和@Embeddable两个注解在 JPA 中的用法。 简单示例 先看一个示例: @AllArgsConstructor @Builder @Data @Entity @Table(name = "user_student") @Accessors(chain = true) @EqualsAndHashCode(onlyExplicitlyIncluded = true) public class Student {    @Id    @G…

2023年6月30日 0条评论 1166点热度 0人点赞 魔芋红茶 阅读全文
12345…7

魔芋红茶

加一点PHP,加一点Go,加一点Python......

技术栈
  • SpringMVC SpringMVC
  • MySQL MySQL
  • SpringBoot SpringBoot
  • Go lang Go lang
  • php php
  • Java Java
  • 设计模式 设计模式
  • Linux Linux
  • Wordpress Wordpress
  • HTTP HTTP
  • Python Python
  • SpringCloud SpringCloud
  • Activiti Activiti
  • debug debug
  • 前端开发 前端开发
  • Redis Redis
  • Maven Maven
  • 生活随笔 生活随笔
项目
  • activiti-util activiti-util
  • auto-hot-key auto-hot-key
  • bilibili-down bilibili-down
  • haokan-down haokan-down
  • i-tree i-tree
  • M3U-Helper M3U-Helper
  • MD-img MD-img
  • oa-demo oa-demo
  • PEP中文 PEP中文
  • 油猴脚本 油猴脚本
工具箱
  • 我的Windows软件列表 我的Windows软件列表
Music
最新 热点 随机
最新 热点 随机
Spring 源码学习 3:工厂后处理器 Spring 源码学习 2:Bean 后处理器 DEBUG:初始化失败请检查 URL、网络和代理设置 Spring 源码学习 1:ApplicationContext WordPress 插件:hCaptcha 每天一个 Idea 小技巧:查看方法
前端学习笔记 6:PiniaActiviti 学习笔记 5:审批流Vue:动态加载组件前端学习笔记 7:小兔鲜每天一个 Idea 小技巧:查看类图前端学习笔记 5:大事件
Idea 安装与激活 后疫情时代 设计模式 with Python 13:复合模式(下) Linux 之旅 6:压缩、打包和备份 从零开始 Spring Boot 49:Hibernate Entity Lifecycle Python学习笔记34:使用Futures处理并发
最近评论
魔芋红茶 发布于 3 年前(03月12日) 不好意思,上个月有点事,没空搞网站,现在弄好了,已经启用了新域名,谢谢关心~~
fuckbaidu 发布于 3 年前(02月25日) 兄弟,你新网址一直没备案成功
魔芋红茶 发布于 4 年前(12月18日) 谢谢。
啊长 发布于 4 年前(12月16日) 膜拜大佬了,希望越做越好 :exclaim:
nfmd 发布于 4 年前(10月31日) 腾讯云出了个60块六年多的bug
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号