问题描述
我知道一些数据访问层模式,例如:
- 表数据网关
- 行数据网关
- 活动记录
- 数据映射器
- ...
JPA 是描述 javaee 应用程序中关系数据管理的规范 - https://en.wikipedia.org/wiki/Jakarta_Persistence
作为关系数据的“管理”,我想象了 CRUD 操作。
必须实施JPA。这些实现例如:EclipseLink、Hibernate、Apache OpenJPA 等。
因此,当必须实现 JPA 时,它描述了关系数据的管理,并且使用 JPA 以某种方式访问数据,谁指定使用哪些(如果有)数据访问层模式? JPA 或实现者?
解决方法
- 通常,标准(例如 JPA)通常会避免规定实施决策,而是规定实施所期望的所需行为。
- JPA 是一种数据访问模式,介于数据库网关 (
EntityManager
) 和数据映射器之间。由于 JPA 将托管实体呈现给核心代码,因此要意识到数据库交互不一定限于数据访问层:具有隐式更新的记录和(可能)对子记录的隐式查询。
我鼓励任何人去了解 JPA 的模式——这是一个有趣的模式。不是通用的(有任何通用的数据访问模式吗?),但它是您工具箱中的绝佳工具。