JPA中的持久性究竟是什么?它是如何连接到EntityManagerFactory的?

时间:2013-06-10 20:10:12

标签: java java-ee jpa

这个数字来自名为PRO JPA的书:

Relationships between JPA Concepts

此图下面的文字是:

  

图2-1显示了每个持久性单元都有一个   可以从中创建EntityManagerFactory和许多实体管理器   一个EntityManagerFactory。

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

1)这是否意味着如果使用相同的persistenceUnitName创建所有EntityManager,则它们完全相同?

据我所知,persistenceUnitName只是我们在应用程序中的persistence.xml,它有一些配置,如驱动程序名称,用户名,密码和实体类名。

2)那么这个图中看到的持久性单位是什么?它是如何配置EntityManagerFactory的?

3)而且,什么是PersistenceContext,以及持久性单元如何创建一个,以及它是如何由EntityManager管理的?它是否根据持久性单元本身的要求创建?

1 个答案:

答案 0 :(得分:2)

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

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