java - EntityManagerFactory 和 EntityManager 有什么区别

标签 java persistence entitymanager

我正在阅读 JAVA EE7 Persistence 章节,我所看到的是您需要创建 EntityManagerFactory 才能创建 EntityManager。

所有的方法调用似乎都是由EntityManager完成的,那么为什么需要创建EntityManagerFactory呢?它具体有什么作用?

我尝试在这里和互联网上寻找答案,但没有成功。

谢谢。

最佳答案

总体了解工厂设计模式。 Leo 的评论 ( https://stackoverflow.com/a/1310415/2762475 ) 中链接的答案链接并解释了一些文档。这是一个很好的起点。一般来说,依赖注入(inject)非常有用,但可能超出了 EntityManager 的用例。

IMO,这里要理解的关键是工厂的目的:作为产品的消费者(在本例中为经理),您所要做的就是从工厂订购一个,他们会给您正确对象,真爱。将此与您可以随心所欲地抓取的一大堆产品进行比较。如果您是唯一一个抓取的人,这很好,但一旦出现资源竞争,您就无法确保获得所需的确切对象,即使您知道它是什么样子。

关于java - EntityManagerFactory 和 EntityManager 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37420766/

相关文章:

Java:如果条件为假并且仍然执行

java - EntityManager em.remove() 和 em.persist() 未反射(reflect)在同一上下文中,而反射(reflect)了实体中的更改

java - 如何在 Java 中同步并发的 Web 服务调用

java - 反转数组

java - NullPointerException,在尝试使用 facebook graph api 从 JSON 对象检索值时?

java - EntityManager 持久化时返回 NullPointerException

java - Spring 4推荐更换JpaTemplate

Java EE,整数给用户?

Java-声明新的泛型集时出现意外的类型错误

java - 持久化实体时设置 OneToMany 关系的 id