首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在使用ORM时,如何安全地跨层发送加载的实体

在使用ORM时,如何安全地跨层发送加载的实体
EN

Stack Overflow用户
提问于 2008-09-17 22:05:47
回答 2查看 199关注 0票数 1

当系统有N层时,当使用ORM时,如何跨层发送加载的实体?

你使用DTO吗?

当不使用DTO,直接发送实体时,如何防止未初始化的延迟加载关系错误?

注意:这不是“是否应该使用N层?”有个问题。我假设系统已经有N层了。

EN

回答 2

Stack Overflow用户

发布于 2008-09-17 22:12:53

我不知道是否有更好的方法,但是当我们使用Hibernate时,我们只是关闭了延迟加载,这样它就可以加载所有东西。这样做的成本显然更高,但我不确定如何摆脱Hibernate将创建的惰性加载方法。

如果容器具有不经常使用的数据集,那么它们将不会被加载,这取决于请求的UI表单调用它并将其发送以进行更新。(我们构建了更新类来一起传递所有信息)

对于加载了大量容器的UI表单,我们只需创建特殊的类并填充所需的内容即可。它们是某种只读容器,不用于持久化。

也许有更好的方法..。但我正在学习:)

票数 1
EN

Stack Overflow用户

发布于 2008-09-19 22:11:44

我只是想用ORMs找到我的方式。

这是一个很吸引人的概念。像您一样,我不希望应用程序中的其他层知道ORM的存在。

我目前考虑的是使用我设计的接口并使用分部类(一种C#/.net的东西,没有分部类,我想我会编写一个包装器)来将接口的实现添加到ORM生成的类型上。

就延迟加载/延迟执行而言,这对应用程序也应该是不可见的。这是ORM提供的一个很好的服务,我很高兴它这样做了,但我的应用程序不应该知道或关心它。因此,如果ORM没有对您隐藏这一点,那么我将再次查看处理这一点的包装器,这样应用程序就不需要知道或关心它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/88192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档