介绍

声明式SQL模式被认为是基于实体的视图对象的最有价值的优点之一。 在此模式下,根据UI中显示的属性在运行时生成VO的SQL。 例如,如果某个页面包含一个只有两列EmployeeId和FirstName的表,则查询将生成为“从Employees中选择Employee_ID,First_Name”。 此功能可以大大提高ADF应用程序的性能。 但是, 只读或基于SQL的视图对象呢? JDeveloper不允许您为基于SQL的VO选择SQL模式。 完全可以使用“专家”模式,而没有机会即时生成查询。 但是,一切皆有可能。

在这篇文章中,我们有一些基于SQL的视图对象VEmployees的示例:

让我们生成“视图对象定义”类:

我们将重写一些方法:

@Overridepublic boolean isRuntimeSQLGeneration(){return true;}@Overridepublic boolean isFullSql(){return false;}@Override//In our case we know exactly the clause FROMpublic String buildDefaultFrom(AttributeDef[] attrDefs,SQLBuilder builder,BaseViewCriteriaManagerImpl vcManager){return "Employees";}@Override//Setting "Selected in Query" property for each attribute except PKprotected void createDef(){for (AttributeDef at : getAttributeDefs()) if (!at.isPrimaryKey()) ((AttributeDefImpl) at).setSelected(false);   }

其实就是这样! 让我们测试一下。

对于显示完整属性集的页面,我们得到结果:

并生成查询(我使用ODL分析器):

对于只有两个属性的页面,我们得到以下结果:

和查询:

本文的示例应用程序需要JDeveloper 11.1.2.1.0和标准HR模式。

参考:来自ADF实践博客的JCG合作伙伴 Eugene Fedorenko的只读ViewObject和声明性SQL模式 。

翻译自: https://www.javacodegeeks.com/2012/07/read-only-viewobject-and-declarative.html

只读ViewObject和声明性SQL模式相关推荐

  1. viewobject_只读ViewObject和声明性SQL模式

    viewobject 介绍 声明式SQL模式被认为是基于实体的视图对象的最有价值的优点之一. 在这种模式下,根据UI中显示的属性在运行时生成VOSQL. 例如,如果某个页面包含一个只有两列Employ ...

  2. 今日 Paper | 模态平衡模型;组合语义分析;高表达性SQL查询;多人姿态估计模型等

    2020-02-07 14:23 导语:为了更好地服务广大 AI 青年,AI 研习社正式推出全新「论文」版块.   目录 视觉对话的模态平衡模型 对注意力的通用攻击和对应的数据集DAmageNet 半 ...

  3. 数据库事务隔离级别+Spring 声明性事务隔离级别

    数据库事务隔离级别 数据库提供了四种事务隔离级别, 不同的隔离级别采用不同的锁类开来实现. 在四种隔离级别中, Serializable的级别最高, Read Uncommited级别最低. 大多数数 ...

  4. 安卓ui xml_创建声明性XML UI语言

    GUI开发可能是一项艰巨的任务. GUI框架的文档记录并不总是很好,所需的代码量可能会快速增长,从而减慢了开发流程. 最重要的是,支持这些GUI框架的拖放工具和IDE通常可以引导GUI软件开发人员创建 ...

  5. html+服务器控件语法,HtmlForm 服务器控件声明性语法

    HtmlForm 服务器控件声明性语法 08/20/2007 本文内容 创建一个服务器端控件,该控件映射到 HTML 元素并允许您为网页中的元素创建一个容器. DefaultButton=" ...

  6. MySQL SQL模式(Mode)

    MySQL服务器能够工作在不同的SQL模式下,并能够针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器进行量身定制以满足自己的需求.这类模式定义了MySQL应支持的SQL语法,以及应 ...

  7. mysql sql模式_MySQL SQL模式特点汇总

    前言 MySQL服务器可以在不同的SQL模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于sql_mode系统变量的值.DBA可以设置全局SQL模式以匹配站点服务器操作要求,并且 ...

  8. html input submit 执行,HtmlInputSubmit 服务器控件声明性语法

    HtmlInputSubmit 服务器控件声明性语法 05/28/2012 本文内容 [本文档仅供预览,在以后的发行版中可能会发生更改.包含的空白主题用作占位符.] 创建一个服务器端控件,该控件映射到 ...

  9. mysql的服务器在什么模式下工作_MySQL服务器的SQL模式 (转)

    转自: http://blog.csdn.net/kumu_linux/article/details/8185912 sql_mode的系统变量可以调控MySQL的SQL模式 任何一个客户端可以在不 ...

最新文章

  1. python3.7.2教程-python 3.7极速入门教程2 Hello与变量
  2. Jedis连接Redis单机版
  3. Kafka简介、安装
  4. POJ - 2411 Mondriaan's Dream(状压dp)
  5. svn文件大小类型限制,提交必须加多少字的说明
  6. bs架构的系统能连接mysql吗_HTTP、BS架构
  7. BugkuCTF-MISC题多方法解决
  8. python通过代理发送邮件_使用Python通过SMTP发送邮件
  9. debain服务器系统用什么,建站服务器系统用CentOS还是Debian 适合自己才好
  10. python dynamic array
  11. Premiere常用快捷键
  12. 物联网技术-RFID
  13. matlab 打开立即窗口,《如何编程打开或关闭VBE界面中的立即窗口及其他窗口?》-- access911.net 文章...
  14. element组件官网
  15. RT-thread实现USB虚拟U盘 模拟读卡器读写sd0
  16. Aurix TC397多核开发建议
  17. 凡事预则立不预则废,你有自己的应急基金吗?教你如何理财
  18. 人工智能AI 01人工智能入门指南
  19. 5G-SUPI-SUPC-IMSI
  20. opencv 中函数的一相关说明,如:cvtColor和cvCvtColor区别

热门文章

  1. java集合——队列和双端队列+优先级队列
  2. java导出数据透视表_使用数据库中的Java流制作数据透视表
  3. 属性拼接转换成字符串_使用一些可选的将字符串配置属性转换为其他类型
  4. ios 静音模式_静音设计模式
  5. jdbc事务 jta事务_将非事务性资源绑定到JTA事务中的几种模式
  6. input发送a.jax_Java REST JAX-RS 2.0 –如何处理日期,时间和时间戳记数据类型
  7. maf中anglearc_Oracle MAF中的LOV
  8. spring 注释的作用_Spring的@Primary注释在起作用
  9. neo4j cypher_neo4j / cypher:悬挂查询参数
  10. 小规模流处理kata。 第1部分:线程池