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

2022-09-01 14:25:26

我对ORM很陌生。我刚刚开始阅读有关Java Persistence API with Hibernate的书籍和文档。

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

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


答案 1

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

这并不完全正确,但关闭一个将更接近于破坏整个连接池。如果你想考虑JDBC连接,你应该考虑.EntityManagerFactoryEntityManager

我们是否应该在每次保留/更新/删除后关闭它?

创建 是一个非常昂贵的操作,应该在应用程序的生存期内完成一次(在应用程序的末尾)。因此,不,不应为每个持久/更新/删除操作关闭它。EntityManagerFactoryclose

一次创建,您通常会获得每个请求,该请求在请求结束时关闭(每个请求是多用户客户端/服务器应用程序的最常见模式)。EntityManagerFactoryEntityManagerEntityManager

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

正如所暗示的,它实际上与数据库连接相关联,关闭它将实际释放JDBC连接(大多数情况下,将其返回到池中)。EntityManagerEntityManager


答案 2

推荐