我是ORM的新手。我刚刚开始阅读关于使用Hibernate的Java持久性API的书籍和文档。
我只是想知道,关闭EntityManagerFactory与关闭jdbc数据库连接类似吗?
我们是否应该在每次持久化/更新/删除后关闭它?如果我们不关闭它,数据库连接会保持打开状态吗?
我只是在想,关门了 EntityManagerFactory 与jdbc数据库连接关闭类似吗?
EntityManagerFactory
这不完全是真的,但关闭一个 更接近摧毁整个连接池。如果你想考虑JDBC连接,你应该考虑 EntityManager .
EntityManager
我们是否应该在每次持久化/更新/删除后关闭它?
创建 这是一个非常昂贵的操作,在应用程序的生命周期中应该执行一次(您需要 close 它位于应用程序的末尾)。因此,不,您不应该为每个persist/update/delete操作关闭它。
close
这个 实体管理工厂 是一次性创建的,通常 实体管理器 每个请求是多用户客户机/服务器应用程序最常见的模式)。
实体管理工厂
实体管理器
如果我们不关闭它,数据库连接会保持打开状态吗?
正如所暗示的,这是 实体管理器 实际上与 一 实体管理器 将实际释放JDBC连接(通常,将其返回到池)。