谁指定 JPA 中使用了哪些(如果有的话)数据访问层模式?
Who specifies which (if any) data access layer pattern(s) are used in JPA?
我知道一些数据访问层模式,例如:
- Table 数据网关
- 行数据网关
- 活跃记录
- 数据映射器
- ...
JPA 是描述 javaee 应用程序中关系数据管理的规范 - https://en.wikipedia.org/wiki/Jakarta_Persistence
作为关系数据的“管理”,我想象 CRUD 操作。
必须实施 JPA。这些实现例如:EclipseLink、Hibernate、Apache OpenJPA 等
因此,当必须实施 JPA 时,它描述了关系数据的管理和使用 JPA 以某种方式访问数据,谁指定使用哪个(如果有)数据访问层模式? JPA 还是实施者?
- 通常,标准(例如 JPA)通常会避免规定实施决策,而是规定预期实施所需的行为。
- JPA 是一种数据访问模式,介于数据库网关 (
EntityManager
) 和数据映射器之间。因为 JPA 将托管实体呈现给核心代码,所以意识到数据库交互不一定限于数据访问层:具有隐式更新的记录和(可能)对子记录的隐式查询。
我鼓励任何人寻求理解 JPA 的模式 - 这是一个有趣的模式。不是通用的(是否有任何通用的数据访问模式?),但在您的工具箱中是一个很棒的工具。
我知道一些数据访问层模式,例如:
- Table 数据网关
- 行数据网关
- 活跃记录
- 数据映射器
- ...
JPA 是描述 javaee 应用程序中关系数据管理的规范 - https://en.wikipedia.org/wiki/Jakarta_Persistence
作为关系数据的“管理”,我想象 CRUD 操作。
必须实施 JPA。这些实现例如:EclipseLink、Hibernate、Apache OpenJPA 等
因此,当必须实施 JPA 时,它描述了关系数据的管理和使用 JPA 以某种方式访问数据,谁指定使用哪个(如果有)数据访问层模式? JPA 还是实施者?
- 通常,标准(例如 JPA)通常会避免规定实施决策,而是规定预期实施所需的行为。
- JPA 是一种数据访问模式,介于数据库网关 (
EntityManager
) 和数据映射器之间。因为 JPA 将托管实体呈现给核心代码,所以意识到数据库交互不一定限于数据访问层:具有隐式更新的记录和(可能)对子记录的隐式查询。
我鼓励任何人寻求理解 JPA 的模式 - 这是一个有趣的模式。不是通用的(是否有任何通用的数据访问模式?),但在您的工具箱中是一个很棒的工具。