红茶的个人站点

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

从零开始 Spring Boot 69:JPA 条件查询

图源:简书 (jianshu.com) 在之前的文章中我们学习过条件查询(Criterial Query),构建条件查询的一般步骤是: 获取HibernateCriteriaBuilder 利用HibernateCriteriaBuilder创建JpaCriteriaQuery 利用JpaCriteriaQuery获取查询的根 利用HibernateCriteriaBuilder构建谓词 用谓词组装JpaCriteriaQuery 利用JpaCriteriaQuery创建Query并执行查询 本篇文章将进一步说明构…

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

从零开始 Spring Boot 68:连接实体

图源:简书 (jianshu.com) 在 JPA 中关联实体实际上对应表连接,而表连接可以通过内连接(Inner Join)、外连接(Outer Join)和 Where等方式实现,实际上 JPA 也用这些方式实现对所关联的实体数据的查询和加载。 本文示例使用以下实体类: @Getter @Builder @NoArgsConstructor @AllArgsConstructor @Entity public class School {    @Id    @GeneratedValue(strategy =…

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

从零开始 Spring Boot 67:JPA 中的惰性元素

图源:简书 (jianshu.com) 惰性加载带来的问题 在实体类之间建立关系时,可以选择“惰性加载”,比如: @Entity public class Student { // ...    @OneToMany(mappedBy = "student",            cascade = CascadeType.ALL,            fetch = FetchType.LAZY)    @Builder.Default    private List<Email> emails …

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

从零开始 Spring Boot 66:JPA 查询参数

图源:简书 (jianshu.com) JPA 的查询参数分为两种: 命名参数(Named Parameters) 位置参数(Positional Parameters) 类似于 Python 中的函数的位置参数和指名参数。 本文的示例使用下面的实体类: @Entity public class Student {    private static final int MAX_SCORE = 100;    private static final int MIN_SCORE = 0; ​    public e…

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

从零开始 Spring Boot 65:JPA 中的查询语句

图源:简书 (jianshu.com) JPA 中的查询(Query)有三种类型: Query,用 Java 持久性查询语言(JPQL,Java Persistence Query Language)编写。 NativeQuery,纯 SQL 编写。 Criterial API Query,用编程的方式编写。 为了介绍这些查询,这里定义一个实体类: @Getter @Builder @NoArgsConstructor @AllArgsConstructor @Entity public class Student…

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

从零开始 Spring Boot 64:Hibernate 标识符

图源:简书 (jianshu.com) Hibernate 中的实体,由标识符(Identitifier)确定了其实体实例的唯一性,这对应于表中的主键。 @Id 对于单一属性作为标识符的情况,可以用@Id注解标注: @Entity(name = "Person5") @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class Person {    @Id    private Long id; } 被@Id标注的属性类型必须是 Jav…

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

从零开始 Spring Boot 63:Hibernate 继承映射

图源:简书 (jianshu.com) 关系型数据库设计中是不存在继承概念的,但实体类可以用继承来组织代码结构,所以需要用一种方式将实体类的继承结构映射到表结构。 本文将介绍几种在 JPA(Hibernate)中映射实体类继承层次的方式。 @MappedSuperclass 第一种方式是用@MappedSuperclass标记超类(Super Class),超类并不对应任何表结构,而是体现在子类对应的表中都拥有超类的字段(每个子类对应一张表)。 @ToString @Getter @Setter @AllArgsC…

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

从零开始 Spring Boot 62:过滤实体和关系

图源:简书 (jianshu.com) JPA(Hibernate)中有一些注解可以用于筛选实体和关系,本文将介绍这些注解。 @Where 有时候,我们希望对表中的数据进行“软删除”,即删除的时候只修改其标记位而不从表中物理删除。 对于存在软删除的表,在执行相应查询的时候都要考虑删除标记,即添加上相应字段的条件语句后进行查询。这样就显得很麻烦,持久层框架一般都会支持对这种情况的“自动处理”,比如 MyBatisPlus。 JPA(Hibernate) 同样支持这种做法,通过使用@Where注解实现: @Entity…

2023年7月6日 0条评论 1189点热度 0人点赞 魔芋红茶 阅读全文
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条评论 1281点热度 0人点赞 魔芋红茶 阅读全文
Spring Boot 学习笔记

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

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

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

魔芋红茶

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

专栏
  • SpringMVC 学习笔记 SpringMVC 学习笔记
  • MySQL学习笔记 MySQL学习笔记
  • Spring Boot学习笔记 Spring Boot学习笔记
  • Java编程笔记 Java编程笔记
  • php学习笔记 php学习笔记
  • Go语言编程笔记 Go语言编程笔记
  • 设计模式 with Python 设计模式 with Python
  • Linux之旅 Linux之旅
  • 腾讯云博客搭建 腾讯云博客搭建
  • HTTP学习笔记 HTTP学习笔记
项目
  • M3U-Helper M3U-Helper
  • Markdown-img Markdown-img
  • PEP中文翻译项目 PEP中文翻译项目
工具箱
  • 我的Windows软件列表 我的Windows软件列表
点歌台
最新 热点 随机
最新 热点 随机
Redis 学习笔记 6:消息队列 Redis 学习笔记 5:分布式锁 Redis 学习笔记 4:优惠券秒杀 Redis 学习笔记 3:黑马点评 Redis 学习笔记 2:Java 客户端 Redis 学习笔记 1:基础
Redis 学习笔记 4:优惠券秒杀Redis 学习笔记 5:分布式锁Redis 学习笔记 6:消息队列
使用Windows Terminal进行SSH连接 Linux 之旅 10:Shell 脚本 腾讯云博客搭建VII Java编程笔记17:I/O 我的Windows软件列表 关于近况的一些说明
最近评论
fuckbaidu 发布于 3 年前(02月26日) 兄弟,你新网址一直没备案成功
啊长 发布于 3 年前(12月17日) 膜拜大佬了,希望越做越好 :exclaim:
nfmd 发布于 4 年前(11月01日) 腾讯云出了个60块六年多的bug
nfmd 发布于 4 年前(10月30日) str.replace("逻辑", "罗辑")
fuckbaidu 发布于 4 年前(10月14日) 并不是所有的文件都能通过软链接转移,比如chrome浏览器,你要是转移了,就不能自动更新了
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

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

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号