谁指定 JPA 中使用了哪些(如果有的话)数据访问层模式?

Who specifies which (if any) data access layer pattern(s) are used in JPA?

我知道一些数据访问层模式,例如:

JPA 是描述 javaee 应用程序中关系数据管理的规范 - https://en.wikipedia.org/wiki/Jakarta_Persistence

作为关系数据的“管理”,我想象 CRUD 操作。

必须实施 JPA。这些实现例如:EclipseLink、Hibernate、Apache OpenJPA 等

因此,当必须实施 JPA 时,它描述了关系数据的管理和使用 JPA 以某种方式访问​​数据,谁指定使用哪个(如果有)数据访问层模式? JPA 还是实施者?

  • 通常,标准(例如 JPA)通常会避免规定实施决策,而是规定预期实施所需的行为。
  • JPA 是一种数据访问模式,介于数据库网关 (EntityManager) 和数据映射器之间。因为 JPA 将托管实体呈现给核心代码,所以意识到数据库交互不一定限于数据访问层:具有隐式更新的记录和(可能)对子记录的隐式查询。

我鼓励任何人寻求理解 JPA 的模式 - 这是一个有趣的模式。不是通用的(是否有任何通用的数据访问模式?),但在您的工具箱中是一个很棒的工具。