Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EntityManagerFactory:在Servlet中使用时是全局实例还是作用域实例?_Java_Servlets_Jpa - Fatal编程技术网

Java EntityManagerFactory:在Servlet中使用时是全局实例还是作用域实例?

Java EntityManagerFactory:在Servlet中使用时是全局实例还是作用域实例?,java,servlets,jpa,Java,Servlets,Jpa,考虑一个简单的servlet应用程序,我只使用一个globalshared emf:EntityManagerFactory实例,该实例由servlet实例加载的init:void方法初始化。 对于每个请求,我从emf获得一个em:EntityManager,使用它,然后关闭该项。 我刚刚意识到EntityManagerFactory有一个封闭的方法,所以问题是,我应该像对待EntityManager一样为每个请求获得EntityManagerFactory吗? 使用EntityManager的

考虑一个简单的servlet应用程序,我只使用一个globalshared emf:EntityManagerFactory实例,该实例由servlet实例加载的init:void方法初始化。 对于每个请求,我从emf获得一个em:EntityManager,使用它,然后关闭该项。 我刚刚意识到EntityManagerFactory有一个封闭的方法,所以问题是,我应该像对待EntityManager一样为每个请求获得EntityManagerFactory吗?
使用EntityManager的最佳实践是什么?可以为每个请求获取->执行->关闭吗?

您应该继续使用单个EntityManagerFactory。在servlet的destroy方法中调用它是close方法。

看这里我想这是你的答案:看这里是你的答案如果你想在相同上下文的不同servlet上使用相同的EntityManagerFactory,请看,这也回答了你的问题。@okiharaherbst谢谢dude@user35736644892谢谢,伙计:DEntityManagerFactory是非常昂贵和重量级的对象,它们应该在应用程序启动时打开。这就是我刚才说的。谢谢你的帮助。当用户3…92的评论和你的答案一样的时候,这很酷,哈哈。