当系统有N层时,并且在使用ORM时,如何发送加载的实体穿过层?当使用ORM时,如何安全地将加载的实体发送到层上
你使用DTO吗?
当不使用DTO并直接发送实体时,如何保护未初始化的惰性加载关系错误?
注意:这不是“应该使用N层”吗?题。我假设系统已经有N层。
当系统有N层时,并且在使用ORM时,如何发送加载的实体穿过层?当使用ORM时,如何安全地将加载的实体发送到层上
你使用DTO吗?
当不使用DTO并直接发送实体时,如何保护未初始化的惰性加载关系错误?
注意:这不是“应该使用N层”吗?题。我假设系统已经有N层。
嗯,我不知道是否有更好的方法,但是当我们使用Hibernate时,我们只关闭延迟加载,以便加载所有内容。这样做显然花费更多,但我不确定如何摆脱Hibernate创建的延迟加载方法。
如果Container有一组不常用的数据,那么它们将不会被加载,而是由请求的UI表单调用并发送它进行更新。 (我们构建了更新类以将所有信息传递到一起)
对于加载了很多容器的UI表单,我们只需制作特殊类并填写我们需要的东西。它们是不用于持久性的只读容器。
可能有更好的办法..但我学习:)
我只是想找到我的奥姆斯方式。
这是一个吸引人的概念。就像你我不希望应用程序中的其他层知道ORM存在。
我目前看到的是使用接口来设计和使用部分类(一个C#/ .net的东西,没有部分类,我想我会编写一个包装)来将接口的实现添加到由ORM生成的类型。
就延迟加载/延迟执行而言,这对应用程序也应该是不可见的。这是ORM提供的一项很好的服务,我很高兴它能做到,但我的应用程序不需要知道或关心它。所以,如果ORM不会从你那里隐藏,那么我会再看看一个包装器,它会照顾到这一点,以便应用程序不需要知道或关心。