Spring Boot 3.2.3 发布
⚠️ 注意 {#-注意} ------------ 此版本升级到 Hibernate 6.4.4.Final。虽然它包含了许多有价值的错误修复,但在原生镜像(Native Image)中无法正常工作。如果你正在使用 *GraalVM* ,则应在 `pom.xml` 中使用 `hibernate.version` 属性将 Hibernate 暂时降级到 `6.4.2.Final...
⚠️ 注意 {#-注意} ------------ 此版本升级到 Hibernate 6.4.4.Final。虽然它包含了许多有价值的错误修复,但在原生镜像(Native Image)中无法正常工作。如果你正在使用 *GraalVM* ,则应在 `pom.xml` 中使用 `hibernate.version` 属性将 Hibernate 暂时降级到 `6.4.2.Final...
1、概览 {#1概览} ----------- Aspect-Oriented Programming(面向切面编程,简称 AOP)是一种范式,它能让我们在整个应用中隔离事务管理或日志记录等交叉问题,而不会干扰业务逻辑。 本文将带你了解如何在 [Spring](/spring/) 中使用 AOP 记录执行日志。 2、不使用 AOP 记录日志 {#2不使用-aop-记录日志...
1、概览 {#1概览} ----------- [Spring JPA](/spring-data-jpa/) 和 Hibernate 为无缝数据库通信提供了强大的工具。不过,由于客户端将更多控制权委托给了框架,因此生成的查询可能远非最佳。 本文将带你了解使用 Spring JPA 和 Hibernate 时常见的 *N+1* 问题,以及可能导致该问题的不同情况。 2、社...
1、概览 {#1概览} ----------- [Spring Batch](/spring-batch/) 是一个强大的 Java 批处理框架,因此在数据处理活动和定时任务运行中被广泛选择。根据业务逻辑的复杂程度,作业可以依赖不同的配置值和动态参数。 本文将带你了解如何使用 `JobParameter` 以及如何从基本的批处理组件中访问它们。 2、Demo 项目 {#2...
本文将带你了解如何为在 Kubernetes 上运行的 [Spring Boot](/spring-boot/) 应用配置 SSL 证书的热重载。我们将使用 Spring Boot 3.1 和 3.2 版本中引入的两个功能。第一个功能允许我们利用 [SSL Bundle](/spring-boot-security-ssl-bundles/) 在服务器端和客户端配置和使用自定义...
1、简介 {#1简介} ----------- [Spring Data JPA](/spring-data-jpa/) 提供了查询推导功能(派生查询),只需遵循方法名称约定就能自动推导出查询。 本文将带你了解如何使用查询推到功能,通过一列或多列查找实体。 2、设置 {#2设置} ----------- 定义一个 `Account` 实体,其中包含与用户账户相关的属性:...
1、概览 {#1概览} ----------- 数据库函数是数据库管理系统的重要组成部分,可将逻辑和执行封装在数据库中。它们有助于高效的数据处理和操作。 本文将带你了解在 Spring Boot 应用中使用 Spring Data JPA 调用自定义数据库函数的各种方法。 2、项目设置 {#2项目设置} --------------- 为了简单,本文使用 H2 数据库。...
1、简介 {#1简介} ----------- 本文将带你了解 [Spring Data JPA](/spring-data-jpa/) 中 Query Hint (查询提示)的功能、基本原理以及如何有效地应用它们。 这些提示有助于优化数据库查询,并通过影响优化器的决策过程来改善应用性能。 2、理解 Query Hint {#2理解-query-hint} -------...
1、概览 {#1概览} ----------- 数据库视图(Database View)是关系型数据库系统中的一种类似表的结构,其中的数据源来自一个或多个连接在一起的表。 Spring Data Repository 通常用于数据库表,但也可以有效地应用于数据库视图。本文将带你了解如何在 Spring Data JPA 中使用 Repository 从数据库视图检索数据。 ...
1、概览 {#1概览} ----------- 在某些情况下,当使用 [Spring Data JPA](/spring-data-jpa/) Repository 保存实体时,可能会在日志中遇到额外的 `SELECT`。这可能会因大量额外调用而导致性能问题。 本文将带你了解如何在 Spring Data JPA 中执行 `INSERT` 时跳过 `SELECT`,以提高性...