此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Relational 3.5.2spring-doc.cadn.net.cn

为什么选择 Spring Data JDBC?

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

JPA 做了很多事情来帮助开发人员。除其他外,它跟踪对实体的更改。它为您进行延迟加载。它允许您将各种对象结构映射到同样广泛的数据库设计。spring-doc.cadn.net.cn

这很棒,让很多事情变得非常容易。只需看看基本的 JPA 教程。但是,JPA 为什么要做某件事,通常会让人感到困惑。此外,在概念上非常简单的事情在 JPA 中变得相当困难。spring-doc.cadn.net.cn

Spring Data JDBC 旨在通过采用以下设计决策,在概念上变得更加简单:spring-doc.cadn.net.cn

  • 如果加载实体,则运行 SQL 语句。完成此作后,您将拥有一个完全加载的实体。不会进行延迟加载或缓存。spring-doc.cadn.net.cn

  • 如果保存实体,则该实体将被保存。如果不保存,则不会保存。没有脏跟踪,也没有会话。spring-doc.cadn.net.cn

  • 有一个简单的模型来说明如何将实体映射到表。它可能只适用于相当简单的情况。如果您不喜欢这样,您应该编写自己的策略。Spring Data JDBC 仅为使用注释自定义策略提供非常有限的支持。spring-doc.cadn.net.cn