什么是最好的方式载入休眠对象图使用它之前在一个用户界面?

StackOverflow https://stackoverflow.com/questions/79843

  •  09-06-2019
  •  | 
  •  

情况是这样的:

  • 你有休眠方面有一个 象图,有一些懒 装载的定义。
  • 你想要使用 休眠中的对象UI 是不必要的复制数据 在某个地方。
  • 有不同的UI 环境需要不同的 量的数据。
  • 数据太 大只是渴望整个负载 图表每次。

什么是最好的装置负荷的所有适当的对象对象图在一个可配置方式,使他们可以访问没有必要回去的数据库来载入更多的数据?

任何帮助。

有帮助吗?

解决方案

让我们说你有客户和在某一点你要的东西与他的命令也许他有一个奖金为他的命令。

然后我将定义一个储存库,与一口流利的接口将允许我这样说:

new ClientRepo().LoadClientBy(id)
                .WithOrders()
                .WithBonus()
                .OrderByName();

和你有客户有你需要的一切。这是最好的,你知道,你会需要对当前操作。这种方式可以避免不必要的旅行数据库。(新的开发者在你的队伍通常将这样做-电话财产和不能知道的事实,它实际上是一个呼叫数据库)

其他提示

如果它是一个网络应用程序和你在使用弹簧,然后OpenSessionInViewFilter可以解决你的问题。

一个方法我们用我们的项目是以创建一个服务于每个来看你。然后将图获取的子的曲线你需要这一特定的查看,总是试图减少sql发送的数据库。因此,我们使用了大量的加入,获得n:1的相关对象。

如果您使用的2层的桌面应用程序直接相连接的数据库你就可以离开的对象的附和装载的额外的数据随时随地动。否则你要重新附加它的会议和初始化的关联你需要的 Hibernate.initialize(Object entity, String propertyName)

(出去的记忆,也许不是100%正确的)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top