龙海网站建设,商务网站建设摘要,网站建设完成推广,这么做3d展示网站viewobject介绍 声明式SQL模式被认为是基于实体的视图对象的最有价值的优点之一。 在这种模式下#xff0c;根据UI中显示的属性在运行时生成VOSQL。 例如#xff0c;如果某个页面包含一个只有两列EmployeeId和FirstName的表#xff0c;则查询将生成为“从Employees中选择Emp… viewobject   介绍      声明式SQL模式被认为是基于实体的视图对象的最有价值的优点之一。 在这种模式下根据UI中显示的属性在运行时生成VOSQL。 例如如果某个页面包含一个只有两列EmployeeId和FirstName的表则查询将生成为“从Employees中选择Employee_IDFirst_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.htmlviewobject