甲骨文的文档正在通过“持久化上下文”的概念来解释javax.persistence.EntityManager。
接口,用于与持久性上下文交互。 EntityManager实例与持久性上下文相关联。持久性上下文是一组实体实例,其中对于任何持久性实体标识,都有一个唯一的实体实例。在持久性上下文中,对实体实例及其生命周期进行管理。EntityManager API用于创建和删除持久实体实例,通过其主键查找实体,以及对实体进行查询。
虽然这里解释了“持久性上下文”,但EntityManager解决了哪些问题,以及我作为开发人员如何从使用它中获益,仍然没有什么意义。
对于刚进入JPA世界的人,是否有一个简单的介绍性解释?
更新:--我收到的答案--非常有用,但我遇到的重复问题(以及其他一些问题也可能)是,JPA概念是通过与其他JPA概念的关系来解释的。向EntityManager介绍与JPA生态系统无关的术语将是非常有启发意义的,例如,如果一个人具有其他or的背景(例如,实体框架或SQL )。
发布于 2020-08-06 14:23:10
你可以把它翻译成:
在任何给定时间,同一实体管理器中的一组托管实体实例称为其持久性上下文。
而且,在任何给定的时间,持久性上下文中只能存在同一个持久性标识中的一个Java实例。
如果将其放在关系图上,它将类似于:
Persistence
| 1
| creates
| *
EntityManagerFactory
| 1
| creates
| *
EntityManager
| *
| manages
| 1
PersistenceContext此外,EntityManager及其相关的PersistenceContext是所谓的第一级缓存。二级缓存将由EntityManagerFactory管理。
https://stackoverflow.com/questions/63285266
复制相似问题