我正在开发一个Web应用程序,并希望在模型中使用延迟加载。 因此,我调整了getter-methods并检查该值是否为null(并且未加载),如果是,则从db请求此值。
现在的问题是,如果一个点上没有加载很多值并且我访问它们(getter),例如从xhtml页面,它创建了许多内部每个小查询的数据库连接。
我现在想知道,如何在大型网络应用程序(例如电子商务)中实现这种延迟加载的模型。他们有一个"游泳池"所有曾经的数据都被缓存,所以首先检查缓存,然后只访问数据库?或者是否更好地使用永久打开的应用程序范围的DB-Connection,以避免创建新的连接?
我应该如何为模型实现我的加载策略,这些模型在页面访问时根据需要加载但是延迟加载所有其他元素?
例如我们在DB中有以下章节结构:
页面" x"加载第1.1章,但没有父和子(只有名称及其ID)。当用户打开它时,它也应该加载孩子(懒惰)等等......