此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Data Relational 3.5.2! |
为什么选择 Spring Data JDBC?
Java 世界中关系数据库的主要持久性 API 当然是 JPA,它有自己的 Spring Data 模块。 为什么还有另一个?
JPA 做了很多事情来帮助开发人员。 除其他外,它还跟踪实体的更改。 它会为您进行延迟加载。 它允许您将各种对象结构映射到同样广泛的数据库设计。
这很棒,让很多事情变得非常容易。 只需查看基本的 JPA 教程即可。 但是,JPA 为什么要做某件事,这常常会让人感到困惑。 此外,在概念上非常简单的事情在 JPA 中变得相当困难。
Spring Data JDBC 旨在通过采用以下设计决策,在概念上变得更加简单:
-
如果加载实体,则运行 SQL 语句。 完成此作后,您将拥有一个完全加载的实体。 不进行延迟加载或缓存。
-
如果保存实体,则会保存该实体。 如果你不这样做,它就不会。 没有肮脏的跟踪,也没有会话。
-
有一个简单的模型,说明如何将实体映射到表。 它可能只适用于相当简单的情况。 如果你不喜欢这样,你应该编写自己的策略。 Spring Data JDBC 仅为使用注释自定义策略提供非常有限的支持。