java - JPA 中的持久性到底是什么?它是如何连接到EntityManagerFactory的?

标签 java jakarta-ee jpa

该图来自《PRO JPA》一书:

Relationships between JPA Concepts

该图下方的文字是:

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/

相关文章:

java - 查询后从 jsonpath 数组中提取单个元素

java - 为 Eclipse Java EE IDE 配置 JD-Eclipse Java Decompiler 插件

java - JBoss6 JPA : Entity with @Lob results in GenericJDBCException

java - 使用 BLOB 或 TEXT/CLOB 在字段中保存 HTML 数据

java - 返回数字的下一个排列

java - 通过交替切换 Action 在游戏中实现暂停

java - tomcat上的war文件部署

jsp - 如何在 JSP(在 Java EE 应用程序中)中使用 SSL?

mysql - 在条件对列表的子句中

Java 静态嵌套类型语义