我们什么时候应该关闭EntityManagerFactory?

Tim*_*kle 26 java orm hibernate jpa

我是ORM的新手.我刚开始阅读有关使用Hibernate的Java Persistence API的书籍和文档.

我只是想知道,关闭EntityManagerFactory与jdbc数据库连接关闭类似吗?

是否应该在每次持续/更新/删除后关闭它?如果我们不关闭它,数据库连接是否会保持打开状态?

Pas*_*ent 37

我只是想知道,关闭EntityManagerFactory与jdbc数据库连接关闭类似?

这不完全正确,但关闭a EntityManagerFactory将更接近于销毁整个连接池.如果你想思考JDBC连接,你应该想一想EntityManager.

是否应该在每次持续/更新/删除后关闭它?

创建EntityManagerFactory一个非常昂贵的操作,应该在应用程序的生命周期内完成一次(在应用程序close结束时).所以,不,你不应该为每个持久/更新/删除操作关闭它.

EntityManagerFactory为所有创建一次,那么通常可以EntityManager每个请求,这是在该请求的一端封闭(EntityManager每请求是针对多用户的客户机/服务器应用程序的最常见的模式).

如果我们不关闭它,数据库连接是否会保持打开状态?

作为暗示,它的EntityManager,实际上是关联到一个数据库连接和关闭EntityManager将真正释放JDBC连接(最常见的,其返回到池).