中国东方营销网站,百度贴吧营销,个人备案网站能用公司,网页制作作品欣赏static和瞬态在应用程序模块的钝化/激活周期内#xff0c;框架也将钝化并激活视图对象。 通常#xff0c;框架保存有关VO状态#xff0c;当前行#xff0c;绑定变量值等的信息。 但是没有数据。 激活视图对象后#xff0c;将重新执行VO的查询#xff0c;并重新获取数据。… static和瞬态 在应用程序模块的钝化/激活周期内框架也将钝化并激活视图对象。 通常框架保存有关VO状态当前行绑定变量值等的信息。 但是没有数据。 激活视图对象后将重新执行VO的查询并重新获取数据。 在大多数情况下查询执行不是在激活阶段期间或之后执行的而是推迟到真正使用视图对象之前执行。 这种行为是很合逻辑的。 假设我们的应用程序由几个页面组成这些页面代表不同视图对象的数据。 如果我们从同一页面向服务器发送请求则将执行仅在该页面上使用的VO。 其他页面上使用的所有其他视图对象也将被钝化和激活。 但是除非我们要求框架通过导航到特定页面来执行此操作否则它们将不会重新执行。 那太酷了 这意味着我们不会执行不必要的查询也不会浪费我们的内存。 但是在某些情况下框架在激活阶段执行VO的查询执行却不会打扰我们是否真正使用VO。 其中一种情况是有关使用瞬态VO的属性。 常见的建议是不要钝化此类属性。 但是有时会使用瞬时属性来存储一些自定义数据并使用钝化/激活机制作为保存此数据并使之保持活动状态的便捷方法。 请谨慎使用此方法。 如果瞬态属性的任何值被钝化则框架将在视图对象激活期间执行查询。 让我们考虑一个包含两页的示例应用程序-员工和部门。 我们使用基于SQL的只读视图对象浏览两个页面上的数据 因此所有VO的属性都是瞬态的我们不会对其进行钝化。 应用程序模块池已禁用 利用ODLA探索从“员工”页面发送的请求我们可以看到以下内容 在应用程序模块激活阶段没有任何查询执行。 VEmployees查询已按预期在准备模型阶段执行。 现在让我们更改VDepartments属性之一的钝化参数 我将使用“部门”页面启动该应用程序以便执行VDepartments VO然后导航到“员工”页面。 从雇员页面发送下一个请求例如对表进行排序我们将获得以下图片 显然除了执行VEmployees查询外框架还执行VDepartments。 VDepartments在激活应用程序模块期间执行。 我们真的需要吗 我们在浪费CPU资源来执行不必要的查询并在浪费内存来存储未使用的视图对象的查询集合。 该框架针对具有任何动态属性的视图对象和设置了保留视图链接访问器的主视图对象演示了相同的行为。 因此请注意这些功能。 而已 参考 ADF实践博客上的JCG合作伙伴 Eugene Fedorenko提供的具有瞬态属性的视图对象的钝化和激活 。 翻译自: https://www.javacodegeeks.com/2013/07/passivation-and-activation-of-view-objects-with-transient-attributes.htmlstatic和瞬态