具有瞬态属性的视图对象的钝化和激活

在应用程序模块的钝化/激活周期内,框架也会钝化并激活视图对象。 通常,框架保存有关VO状态,当前行,绑定变量值等的信息。 但是没有数据。 激活视图对象后,将重新执行VO的查询,并重新获取数据。 在大多数情况下,查询执行不会在激活阶段期间或之后立即执行,而是推迟到真正使用视图对象之前执行。 这种行为是很合逻辑的。 假设我们的应用程序由几个页面组成,这些页面代表不同视图对象的数据。 如果我们从同一页面向服务器发送请求,我们将执行仅在该页面上使用的VO。 其他页面上使用的所有其他视图对象也将被钝化和激活。 但是直到我们要求框架通过导航到特定页面来做到这一点,它们才将被重新执行。 那太酷了! 这意味着我们不会执行不必​​要的查询,也不会浪费内存。 但是在某些情况下,框架在激活阶段执行VO的查询执行却不会打扰我们是否真正使用VO。

这些情况之一是有关使用瞬态VO属性的。 常见的建议是不要钝化此类属性。 但有时会使用瞬态属性来存储一些自定义数据,并使用钝化/激活机制作为保存此数据并使之保持活动状态的便捷方法。 请谨慎使用此方法。 如果瞬态属性的任何值被钝化,则框架将在视图对象激活期间执行查询。

让我们考虑一个包含两页的示例应用程序-员工和部门。

屏幕截图2013年7月19日下午2.31.00

我们使用基于SQL的只读视图对象浏览两个页面上的数据:

屏幕截图2013年7月19日下午2.35.18

屏幕截图2013年7月19日下午2.36.18

因此,所有VO的属性都是瞬态的,我们不会对其进行钝化。 应用程序模块池已禁用:

屏幕截图2013年7月19日下午2.43.59

利用ODLA探索从“员工”页面发送的请求,我们可以看到以下内容:

屏幕截图2013年7月18日下午6.55.10

在应用程序模块激活阶段没有任何查询执行。 VEmployees查询已按预期在准备模型阶段执行。

现在让我们更改VDepartments属性之一的钝化参数:

屏幕截图2013年7月19日下午2.55.14

我将使用“部门”页面启动该应用程序,以便执行VDepartments VO,然后导航到“员工”页面。 从雇员页面发送下一个请求(例如对表进行排序),我们将获得以下图片:

屏幕截图2013年7月18日下午6.32.44

显然,除了执行VEmployees查询之外,框架还执行VDepartments。 VDepartments在激活应用程序模块期间执行。 我们真的需要吗? 我们浪费CPU资源来执行不必要的查询,浪费内存来存储未使用的视图对象的查询集合。 该框架针对具有任何动态属性的视图对象和设置了保留视图链接访问器的主视图对象,演示了相同的行为。 因此,请注意这些功能。

而已!

参考: ADF实践博客中来自我们JCG合作伙伴 Eugene Fedorenko的具有瞬态属性的视图对象的钝化和激活 。

翻译自: https://www.javacodegeeks.com/2013/07/passivation-and-activation-of-view-objects-with-transient-attributes.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pre标签的样式

你可能正在使用 <pre> 标签。这是一个 HTML 中非常特别的标签&#xff0c;它允许其中的空格真正显示出来。例如&#xff1a;四个空格将真实显示成四个空格。这不同于其他标签通常的做法&#xff0c;其他标签会将之间的空白压缩成一个。从这一点来说&#xff0c;<pre&g…

js的闭包

function a(){var n 0;this.inc function () {n; console.log(n);}; } var c new a(); c.inc(); //控制台输出1 c.inc(); //控制台输出2 什么是闭包&#xff1f;这就是闭包&#xff01;&#xff01;有权访问另一个函数作用域内变量的函数都是闭包。当函数可以记住并访…

远程管理口怎么看地址_红烧羊肉怎么样做才能滋味浓郁,咸甜适口,且回味有奶香?看这里...

原汁原味红烧羊肉此菜在制作上不同于其他红烧羊肉时要放入香料去膻&#xff0c;但在选料上很讲究&#xff0c;也就是说食材的好坏决定菜的好坏。选用一年生的崇明母山羊制作&#xff0c;膻味很小&#xff0c;肉质软嫩细腻&#xff0c;且带有一股淡淡奶香&#xff0c;因此不必放…

css段落文字(中英文混杂)实现两端对齐

案例如下&#xff1a; 混合使用汉字和英文的段落默认如下&#xff1a; 两边是不对齐的(一般情况下&#xff0c;我们对这种情况不做处理&#xff0c;除非需求或者设计非要我们实现两端对齐)。 对齐之后如下&#xff1a; 实现思路 一般的两端对齐是使用text-align:justify&…

44集合:蒜头军学英语

转载于:https://www.cnblogs.com/passion-sky/p/8424769.html

android病毒下载地址,LINE病毒查杀

LINE病毒查杀是免费通话、免费传讯「LINE」的周边应用程序之一。它能保护智能手机上个人信息的安全&#xff0c;使其免于病毒或恶意程序的侵害。您只要执行几个简单的步骤就能确认手机状态或完成病毒扫描。LINE病毒查杀界面LINE病毒查杀软件功能1、智能手机上的病毒将无所遁形!…

android app的签名,Android APP的签名

Android APP的签名Android项目以它的包名作为唯一的标识&#xff0c;如果在同一部手机上安装两个包名相同的APP&#xff0c;后者就会覆盖前面安装的应用。为了避免Android APP被随意覆盖&#xff0c;Android要求对APP进行签名。下面介绍对APP进行签名的步骤1、选择builder菜单下…

5.6.50 mysql 用什么驱动_日均5亿查询量的京东订单中心,为什么舍弃MySQL用ES?

京东到家订单中心系统业务中&#xff0c;无论是外部商家的订单生产&#xff0c;或是内部上下游系统的依赖&#xff0c;订单查询的调用量都非常大&#xff0c;造成了订单数据读多写少的情况。我们把订单数据存储在MySQL中&#xff0c;但显然只通过DB来支撑大量的查询是不可取的。…

可搜索的文件? 是的你可以。 选择AsciiDoc的另一个原因

Elasticsearch是一个基于Apache Lucene的灵活&#xff0c;功能强大的开源&#xff0c;分布式实时云搜索和分析引擎&#xff0c;可提供全文搜索功能。 它是面向文档且无架构的。 Asciidoctor是一个纯Ruby处理器&#xff0c;用于将AsciiDoc源文件和字符串转换为HTML 5 &#xff…

Jquery 获取table当前行内容

$("a[namecheckOriginal]").click(function () { var parent $(this).parent().parent().find("td"); var moduleEnum parent.eq(7).text(); if(moduleEnum""){ } alert(moduleEnmu);}); 转载于:https://www.cnblogs.com/austi…

监视和检测Java应用程序中的内存泄漏

因此&#xff0c;您的应用程序内存不足&#xff0c;您日夜不停地分析应用程序&#xff0c;以期捕获对象中的内存漏洞。 后续步骤将说明如何监视和检测您的内存泄漏&#xff0c;以确保您的应用程序安全。 1.怀疑内存泄漏 如果您怀疑有内存泄漏&#xff0c;可以使用一种方便的方…

点a链接写邮件小技巧

无意间发现这个技巧&#xff0c;分享一下&#xff01; 当点击mailto的邮件链接的时候&#xff0c;需要填写标题和内容&#xff0c;如果你想规定一个邮件标题格式&#xff0c;那这个可以帮助你。 代码&#xff1a; <a href"mailto:haozidaqianduan.com?subject投稿&a…

javascript 分时函数 分批次添加DOM节点 timeChunk

创建1000个webqq的qq好友列表, 一个好友用一个节点来表示 * timeChunk var timeChunk function(a, fn, sz, done) {var obj, t, len a.length;var start function() {for (var i 0; i < Math.min(sz || 1, a.length); i) {var obj a.shift();fn.call(this, obj);}}retu…

uvm 形式验证_这究竟属于下一代验证的方法、语言还是工具?||路科验证

来源&#xff1a;内容由 公众号 路科验证 &#xff08;ID&#xff1a;Rocker-IC&#xff09;编辑部 原创&#xff0c;谢谢&#xff01;首先声明&#xff0c;便携式激励标准(PortableStimulus Standard, PSS)不是一种方法论&#xff0c;而是一种语言。使用语言我们可以有序地传递…

redis 版的 hello world

为 redis 添加一个命令&#xff0c;效果如下图&#xff1a; 在 Server.h 中加入命令处理函数的声明&#xff1a; void meCommand(client *c); 在 Server.c 的命令表中加入&#xff1a; struct redisCommand redisCommandTable[] {{"me",meCommand,1,"rF",…

unity中单位是米还是厘米_401场地清理是什么,由施工单位做还是甲方做?造价中如何体现?...

场地清理是对公路用地范围及借土场范围内施工场地的清理、拆除和挖掘&#xff0c;以及必要的平整场地等有关作业。一、工作内容根据路基工程项目分表可以看出场地清理主要包括三方面内容&#xff1a;1、清理与拆除(1)清除表土路基范围内的树根、腐殖土、草皮或地表土不符合路基…

华为鸿蒙系统是否上线,华为官方:鸿蒙系统2.0上线,手机能否搭载鸿蒙操作系统?...

原标题&#xff1a;华为官方&#xff1a;鸿蒙系统2.0上线&#xff0c;手机能否搭载鸿蒙操作系统&#xff1f;华为官宣鸿蒙已经过去有一年多的时间了。近日有消息称&#xff0c;在今年九月份华为即将举办开发者大会&#xff0c;届时正式发布鸿蒙2.0操作系统&#xff0c;相比之前…

图解 继电器模组接线图_交流接触器,继电器的知识你了解多少?(值得收藏)...

↑↑↑↑↑领取福利的小伙伴&#xff0c;先点击上方关注我们哦(文章字体较小&#xff0c;请点击放大后查看)交流接触器(Alternating Current Contactor)广泛用作电力的开断和控制电路。型号与参数交流接触器的型号很多&#xff0c; CJ0、CJ10系列交流接触器较为常用&#xff0c…

折线图表android,Android 折线图表MPAndroidChart的实现

昨日夜观天象&#xff0c;今日忽见北斗星陨落&#xff0c;《Android 折线图表》应运而生。single.pngmany.png一.本篇采用MPAndroidChart&#xff0c;大体实现步骤可分为两步&#xff1a;1.配置基本属性(包括X,Y轴)2.设置折线数据并添加复制代码二. 第一步&#xff0c;配置基本…

我最喜欢的Java高级开发人员书籍

我上一篇博客文章 &#xff08;我对高级Java开发人员的十个最喜欢的在线资源&#xff09;的想法是由Xiaoran Wang发表的针对高级Java开发人员的十大网站的启发。 Wang还写了一篇名为《面向Java高级开发人员的十大书籍》的文章。 正如关于高级Java开发人员的最佳网站上的帖子一样…