Jens Schauder

Jens Schauder

博文Jens Schauder

Spring Data JDBC 和 R2DBC 4.0 将支持复合 ID

工程 | 2025年7月22日 | ...

我很高兴地宣布,Spring Data JDBC 和 R2DBC 从版本 4.0.0-M4 开始最终支持复合 ID。

你们中的大多数人可能知道,但为了确保每个人都有相同的理解:从数据库的角度来看,复合 ID(或复合键)是由多个列组成的主键。在 Java 端,这些列被映射到一个实体,每个列都有一个属性。用法应该很简单,我将在下面的文章中为 JDBC 进行演示。R2DBC 中的用法类似。

要开始,只需在您的一个字段上放置一个 @Id 注解……

Spring Data 2024.1.0-M1、2024.0.4 和 2023.1.10 发布

发布 | 2024 年 9 月 13 日 | ...

我很高兴代表团队和所有贡献者宣布 2024.1.0-M1、2024.0.4 和 2023.1.10 版本已发布。这些版本包含依赖项升级、回归修复和精选改进。

即将发布的 Spring Boot 版本 3.4.0-M33.3.43.2.10 将在下周采用上述版本。

2024.1.0-M1

Spring Data 2024.0.3 和 2023.1.9 发布

发布 | 2024 年 8 月 19 日 | ...

我很高兴代表团队和所有贡献者宣布 2024.0.32023.1.9 服务版本已发布。这些版本包含依赖项升级、回归修复和精选改进。

即将发布的 Spring Boot 版本 3.3.33.2.9 将在下周采用上述版本。

2024.0.3

Spring Data 2024.0.2 和 2023.1.8 发布

发布 | 2024 年 7 月 12 日 | ...

我很高兴代表团队和所有贡献者宣布 2024.0.22023.1.8 服务版本已发布。这些版本包含依赖项升级、回归修复和精选改进。

即将发布的 Spring Boot 版本 3.3.23.2.8 将在下周采用上述版本。

2024.0.2

这是 N+1 问题终结的开始:引入单查询加载。

工程 | 2023 年 8 月 31 日 | ...

太长不看

从 Spring Data JDBC 3.2.0-M2 开始,Spring Data JDBC 支持单查询加载。单查询加载使用单个 select 语句加载任意聚合。

要启用单查询加载,您需要在您的 RelationalMappingContext 上调用 setSingleQueryLoadingEnabled(true)

在 3.2.0-M2 中,这仅适用于由聚合根和单个实体集合组成的简单聚合。它也仅限于 CrudRepository 中的 findAllfindByIdfindAllByIds 方法。未来版本将对此进行改进。最后一个限制是您使用的数据库必须支持分析函数(又称窗口函数)。所有官方支持的数据库除了…

Spring Data JDBC - 如何维护您的数据库架构

工程 | 2023 年 8 月 29 日 | ...

这是关于如何解决在使用 Spring Data JDBC 时可能遇到的各种挑战的系列文章的第五篇。该系列文章包括

  1. Spring Data JDBC - 如何使用自定义 ID 生成?

  2. Spring Data JDBC - 如何创建双向关系?.

  3. Spring Data JDBC - 如何实现缓存?

  4. Spring Data JDBC - 如何对聚合根进行局部更新?

  5. Spring Data JDBC - 如何为我的域模型生成架构?(本文)

如果您是 Spring Data JDBC 的新手,您应该首先阅读它的介绍这篇解释聚合在 Spring Data JDBC 背景下的相关性的文章

如何在 Spring Boot 应用程序中将 Hibernate 的多租户功能与 Spring Data JPA 集成

工程 | 2022 年 7 月 31 日 | ...

Hibernate 推出多租户功能已有一段时间了。它与 Spring 集成良好,但关于如何实际设置的信息不多,因此我认为一两个或三个示例会有所帮助。

已经有一篇出色的博客文章,但它有点过时,并且涵盖了作者试图解决的许多特定业务问题。这种方法稍微隐藏了实际的集成,而这正是本文的重点。

不用担心这篇文章中的代码。您可以在这篇博客文章的末尾找到完整代码示例的链接。

多租户是什么意思…

宣布 Spring Data 3.0 的 ListCrudRepository 及相关功能

工程 | 2022 年 2 月 22 日 | ...

Spring Data 的CrudRepository有各种方法可以返回由仓库管理的多个实体实例。它通过使用Iterable而不是 List 来实现,这可能出乎意料。在许多情况下,这没有关系,因为您通常无论如何都想遍历结果。但是,您偶尔可能更喜欢 List。在这种情况下,Iterable 会很烦人。

我将更多地讨论当初为何做出这种选择,以及在 Spring Data 2.x 上如何处理它。不过,让我先公布好消息

返回列表的仓库

Spring Data 3.0.0 现在在最新的快照版本中提供了 ListCrudRepository,它在 CrudRepository 返回 Iterable 的地方返回 List

Spring Data JDBC - 如何对聚合根进行局部更新?

工程 | 2022年1月20日 | ...

这是关于如何应对使用Spring Data JDBC时可能遇到的各种挑战系列文章的第四篇。该系列文章包括:

  1. Spring Data JDBC - 如何使用自定义ID生成。

  2. Spring Data JDBC - 如何创建双向关系?

  3. Spring Data JDBC - 如何实现缓存?

  4. Spring Data JDBC - 如何对聚合根进行局部更新? (本文)

  5. Spring Data JDBC - 如何为我的领域模型生成Schema?

如果您是 Spring Data JDBC 的新手,您应该首先阅读介绍这篇解释聚合在 Spring Data JDBC 背景下的相关性的文章

Spring Data 2021.0.7 和 2020.0.15 发布

发布 | 2021 年 11 月 12 日 | ...

我很高兴代表团队宣布 Spring Data 2021.0.72020.0.15 服务版本已发布。

这两个版本都基于 Spring Framework 5.3.13 构建。为方便起见,您可以通过即将发布的 Spring Boot 版本 2.5.72.4.13 使用 Spring Data 2021.0.72020.0.15

2020.0.x 已达到其生命周期结束,将不再是常规开源版本的一部分。如果您仍在使用此版本,请考虑尽快升级。

这两个服务版本主要包含错误修复和依赖项升级。

总结一下…

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有