2

该图来自名为 PRO JPA 的书:

JPA 概念之间的关系

而这个图下方的文字是:

图 2-1 显示,对于每个持久性单元,都有一个 EntityManagerFactory,并且可以从单个 EntityManagerFactory 创建许多实体管理器。

因此,Persistence 类有一个名为 createEntityManagerFactory 的静态方法,您可以在其中提供一个 String,它是 persistenceUnitName。

1) 这是否意味着所有 EntityManagers 都是相同的,如果它们是用相同的 persistenceUnitName 创建的?

据我所知,persistenceUnitName就是我们在应用中的persistence.xml,里面有驱动名、用户名、密码、实体类名等配置。

2)那么这个图中看到的Persistence Unit是什么?以及它是如何配置 EntityManagerFactory 的?

3) 还有,什么是 PersistenceContext,Persistence Unit 是如何创建的,EntityManager 是如何管理它的?它是按照 Persistence Unit 本身的要求创建的吗?

4

1 回答 1

2

请参阅我对您的另一个问题的回答:

https://stackoverflow.com/a/16844778/2087640。如果不同EntityManager的实例共享相同的persistence unit,则每个实例都将在内存中表示相同的数据库模式状态。

于 2013-06-11T07:54:55.230 回答