该图来自《PRO JPA》一书:
该图下方的文字是:
Figure 2-1 shows that for each persistence unit there is an EntityManagerFactory and that many entity managers can be created from a single EntityManagerFactory.
因此,Persistence 类有一个名为 createEntityManagerFactory 的静态方法,您可以在其中提供一个 String,它是 persistenceUnitName。
1) 这是否意味着如果所有 EntityManager 使用相同的 persistenceUnitName 创建,它们都是完全相同的?
据我所知,persistenceUnitName就是我们应用程序中的persistence.xml,其中有一些配置,例如驱动程序名称、用户名、密码和实体类名称。
2)那么图中看到的Persistence Unit是什么呢?它如何配置EntityManagerFactory?
3) 另外,什么是 PersistenceContext,持久化单元如何创建 PersistenceContext,以及 EntityManager 如何管理它?它是按照持久性单元本身的要求创建的吗?
最佳答案
查看我对您的另一个问题的回答:
https://stackoverflow.com/a/16844778/2087640 。如果不同的 EntityManager 实例共享相同的持久性单元,则每个实例都将拥有自己的同一数据库架构状态的内存中表示。
关于java - JPA 中的持久性到底是什么?它是如何连接到EntityManagerFactory的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031971/