EntityManagerFactory和EntityManager之间有什么区别

时间:2016-05-24 18:02:22

标签: java persistence entitymanager

我正在阅读JAVA EE7持久性章节,我只看到你需要创建一个EntityManagerFactory来创建一个EntityManager。

所有方法调用似乎都是由EntityManager完成的,那么为什么需要创建一个EntityManagerFactory呢?它到底是做什么的?

我试着在这里和互联网上找到答案,但无济于事。

感谢。

1 个答案:

答案 0 :(得分:1)

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

IMO,这里要理解的关键是工厂的目的:作为产品的消费者(在这种情况下,经理),你所要做的就是从工厂订购一个,他们会给你正确对象,真爱。相比之下,您可以从无所不在的大量产品中获取。如果你是唯一一个抓住的人,这很好,但是一旦资源竞争产生,你就无法确保得到你需要的确切对象,即使你知道它的样子。