栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

以视图模式打开会话

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

以视图模式打开会话

我已经使用“视图中的打开会话”模式(即Spring实现)成功解决了所有懒惰的初始化问题。我使用的技术与您完全一样。

使用此模式可以使我完整地映射实体关系,而不必担心在dao中获取子实体。大多。在90%的情况下,该模式解决了视图中的延迟初始化需求。在某些情况下,您将必须“手动”初始化关系。这些案例很少见,在我的案例中总是涉及非常非常复杂的映射。

使用“在视图中打开实体管理器”模式时,正确定义实体关系(尤其是正确的传播和事务设置)非常重要。如果未正确配置这些对象,则在视图中延迟初始化某些实体时,将出现与关闭的会话相关的错误,并且由于会话已经关闭而失败。

我一定会选择选项1。有时可能需要选项2,但我绝对没有理由使用选项3。选项4也不是。急于获取所有内容会扼杀只需要列出某些父实体的一些属性(按顺序排列)的任何视图的性能。

N + 1个选择

在开发期间,由于初始化视图中的某些关系,将有N +
1个选择。但这不是丢弃模式的原因。只要解决这些问题,就可以解决这些问题,然后再将代码交付生产。使用OEMIV模式解决这些问题与使用任何其他模式一样容易:添加适当的dao或服务方法,修复控制器以调用其他finder方法,也许向数据库添加视图等。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427871.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号