对于最新的稳定版本,请使用 Spring Data Relational 3.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Data Relational 3.3.1Spring中文文档

Java 世界中关系数据库的主要持久化 API 当然是 JPA,它有自己的 Spring Data 模块。 为什么还有另一个?Spring中文文档

JPA 做了很多事情来帮助开发人员。 除其他事项外,它还跟踪对实体的更改。 它为您进行延迟加载。 它允许您将各种对象构造映射到同样广泛的数据库设计。Spring中文文档

这很棒,让很多事情变得非常容易。 只需看一个基本的 JPA 教程。 但是,对于JPA为什么要做某件事,人们常常感到非常困惑。 此外,在概念上非常简单的事情在 JPA 中变得相当困难。Spring中文文档

Spring Data JDBC 旨在通过采用以下设计决策在概念上更简单:Spring中文文档

  • 如果加载实体,则运行 SQL 语句。 完成此操作后,您将拥有一个完全加载的实体。 不进行延迟加载或缓存。Spring中文文档

  • 如果保存一个实体,它就会被保存。 如果你不这样做,它就不会。 没有肮脏的跟踪,也没有会话。Spring中文文档

  • 有一个关于如何将实体映射到表的简单模型。 它可能只适用于相当简单的情况。 如果你不喜欢这样,你应该编写自己的策略。 Spring Data JDBC 仅提供非常有限的支持,用于使用注释自定义策略。Spring中文文档