51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

软件教程

JPA 级联保存实体中的子实体

JPA 级联保存实体中的子实体

厉飞雨 阅读(16) 评论(0) 赞(3)

1、概览 {#1概览} ----------- 本文将带你了解 JPA 如何自动保存复杂的实体模型(即由父实体和子实体元素组成的复杂模型)以及常见的问题。 2、缺失关系注解 {#2缺失关系注解} ------------------- 我们可能会忽略的第一件事就是添加关系注解。 创建一个子实体: ```java @Entity public class Bidir...

JPA 中实体的继承与组合

JPA 中实体的继承与组合

厉飞雨 阅读(15) 评论(0) 赞(4)

1、简介 {#1简介} ----------- 继承(Inheritance)和组合(Composition)是面向对象编程(OOP)中的两个基本概念,我们也可以在 JPA 中利用它们进行数据建模。在 JPA 中,继承和组合都是对实体间关系进行建模的技术,但它们代表的是不同类型的关系。本文将带你了解这两种方法及其影响。 2、JPA 中的继承 {#2jpa-中的继承} ---...

Spring 实现两级缓存

Spring 实现两级缓存

厉飞雨 阅读(12) 评论(0) 赞(0)

1、概览 {#1概览} ----------- 缓存数据意味着我们的应用无需访问速度较慢的存储层,从而提高了性能和响应速度。我们可以使用任何内存实现库(如 [Caffeine](https://www.baeldung.com/java-caching-caffeine))来实现缓存。 虽然这样做可以提高数据检索的性能,但如果应用部署在多个副本上,那么实例之间就无法共享缓存...

根据属性(Properties)动态注册 Spring Bean

根据属性(Properties)动态注册 Spring Bean

厉飞雨 阅读(12) 评论(0) 赞(2)

1、概览 {#1概览} ----------- 本文将带你了解如何根据自定义属性动态注册 Bean。 主要是学习 `BeanDefinitionRegistryPostProcessor` 接口,以及如何使用它将 Bean 添加到 Application Context 中。 2、设置 {#2设置} ----------- 创建一个简单的 Spring Boot 应用。...

Spring Boot 启用虚拟线程

Spring Boot 启用虚拟线程

厉飞雨 阅读(13) 评论(0) 赞(3)

本文将带你了解什么是虚拟线程、虚拟线程是如何提高应用吞吐量的,以及如何为 Spring Boot 应用启用虚拟线程。 并发编程的演化 {#并发编程的演化} ------------------ ### 线程 {#线程} 总所周知,线程(Thread)是计算机中的最小执行单元,由操作系统直接进行调度,每个线程都有自己的执行路径和执行状态,可以独立地运行和并发执行多个任务。 ...

Spring 在运行动态地创建 Prototype Scope Bean

Spring 在运行动态地创建 Prototype Scope Bean

厉飞雨 阅读(17) 评论(0) 赞(4)

1、概览 {#1概览} ----------- 本文将带你了解如何在 Spring 中使用运行时参数创建一个 Prototype Scope Bean。 在 Spring 中,有许多不同的 Bean Scope,默认的 Scope 是 Singleton(单例)。Singleton Scope 的 Bean 将始终产生相同的对象。 如果每次都需要从容器中获得一个新实例,可...

Spring Boot 3.2.3 发布

Spring Boot 3.2.3 发布

厉飞雨 阅读(11) 评论(0) 赞(4)

⚠️ 注意 {#-注意} ------------ 此版本升级到 Hibernate 6.4.4.Final。虽然它包含了许多有价值的错误修复,但在原生镜像(Native Image)中无法正常工作。如果你正在使用 *GraalVM* ,则应在 `pom.xml` 中使用 `hibernate.version` 属性将 Hibernate 暂时降级到 `6.4.2.Final...

在 Spring 中使用 AOP 记录执行日志

在 Spring 中使用 AOP 记录执行日志

厉飞雨 阅读(21) 评论(0) 赞(2)

1、概览 {#1概览} ----------- Aspect-Oriented Programming(面向切面编程,简称 AOP)是一种范式,它能让我们在整个应用中隔离事务管理或日志记录等交叉问题,而不会干扰业务逻辑。 本文将带你了解如何在 [Spring](/spring/) 中使用 AOP 记录执行日志。 2、不使用 AOP 记录日志 {#2不使用-aop-记录日志...

Hibernate 和 Spring Data JPA 中的 N+1 问题

Hibernate 和 Spring Data JPA 中的 N+1 问题

厉飞雨 阅读(14) 评论(0) 赞(4)

1、概览 {#1概览} ----------- [Spring JPA](/spring-data-jpa/) 和 Hibernate 为无缝数据库通信提供了强大的工具。不过,由于客户端将更多控制权委托给了框架,因此生成的查询可能远非最佳。 本文将带你了解使用 Spring JPA 和 Hibernate 时常见的 *N+1* 问题,以及可能导致该问题的不同情况。 2、社...