gpt4 book ai didi

hibernate - 为什么每个应用程序只使用一个 SessionFactory 对象?

转载 作者:行者123 更新时间:2023-12-03 10:33:19 25 4
gpt4 key购买 nike

为什么每个应用程序只使用一个 SessionFactory 对象?每个应用程序使用单个 session 工厂对象的优点是什么?

最佳答案

session 工厂对象将使用 实现单例设计模式。 SessionFactory 的实例是线程安全的,通常在整个应用程序中共享。由于这些对象很重,因为它们包含连接信息、hibernate 配置信息和映射文件、位置路径。因此,创建实例数量会使我们的应用程序变得很重。但是 session 对象不是线程安全的。所以简而言之 - SessionFactory 对象每个应用程序一个,Session 对象每个客户端一个。

因此,每个数据源将是一个 SessionFactory。您的应用程序可能有多个数据源,因此在该实例中您可能有多个 SessionFactory。但是您不希望在应用程序中多次创建 SessionFactory。

优势 :
显然它提高了您的应用程序的性能:)

更新 -
摘自 Hibernate Doc

The internal state of a SessionFactory is immutable. Once it is created this internal state is set. This internal state includes all of the metadata about Object/Relational Mapping.

关于hibernate - 为什么每个应用程序只使用一个 SessionFactory 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14411860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com