内容提示:ADF业务组件是一组将数据存取逻辑封装起来的对象,这是对ADF的一个简单定义。程序开发人员可以借助ADF业务组件快速搭建J2EE因公程序。如在其帮助下,开发人员可以将注意力集中在企业内部的流程与业务逻辑上。而且ADF业务组件在设计之初就完全遵循J2EE设计模式的规范。为此只要是以ADF业务组件开发的JSP或者EJB应用程序,就是一个标准的通用的J2EE应用程序。
ADF业务组件说复杂是复杂,说简单也简单。笔者在这篇文章中,给大家介绍一下ADF业务组件的四大组成要素以及他们之间的关系,帮助开发人员能够尽快进入到这个领域。这四大要素分别为Entity Objects、View Objects、View Link和Association。这四个组件相互配合,共同搭建起了一个Java应用程序的数据基础内容。他们之间的关系具体如下图所示:
元素一:Entity Object。
Entity Object是一个最基本的元素,其主要用来表示数据库层面的内容,如数据库的表或者视图等等。不过除了数据库的表或者视图之外,其还可以是Entity Bean。在实际工作中,Entity Object主要就是指前者。具体的来说,Entity Object包含了如下内容。一是数据库中表格或者视图中定义的字段内容(包括数据类型);其次是一些业务逻辑,如数据的默认值、字段的约束条件等等。也就是说,Entity Object就好像是数据库中表或者视图的一个映射。在后续应用开发中,程序员并不是直接跟数据库中的对象打交道,而是通过这个Entity Object元素与数据库进行沟通。
当在Jdeveloper下建立一个Entity Object元素之后,开发平台会自动产生两个文件,分别是**.xml与**.JAVA。第一个文件主要描述了这个元素的配置信息,例如相对应的数据库表或者视图的名字以及字段之间的对应关系和业务逻辑。第二个文件则是实现这个元素的Java类。
在使用这个元素的时候需要注意一些使用上的限制。如这个元素不能够在开发平台层面使用Join关键字连接两个以及两个以上的表格;也不能够使用Order By子句根据某个字段的内容对数据库的记录进行排序;还不可以利用Wwhere子句进一步限制查询的结果。如在开发过程中,直接使用这个元素的话,那么在前台客户端中查询的结果就是通过后台数据库查询所得到的结果一模一样(包括数据显示的顺序)。但是大部分使用我们需要在结果显示时,对数据的结果进行优化。如对数据进行排序或者只显示某些符合条件的记录。此时就需要使用View Object元素。
元素二:View Object。
如果将Entity Object元素比喻从数据库中的表的话,那么View Object就好像是数据库中的视图。简单的说,View Object就是在Entity Object元素的基础上,创建的一个视图对象。如可以将多个Entity Object元素通过关键字联系在一起(就好像数据库中的表与表之间的连接);如可以对数据进行排序或者只显示特定的字段(就好像在数据库中采用Order By关键字的记录进行排序)。
当在开发环境中建立这个元素之后,系统也会自动产生两个配置文件,分别为**view.xml和**Viewimpl.java。第一个文件主要用来描述这个元素的配置信息,如对应的是哪些Entity Object等等。第二个文件就是具体实现的Java类。
通常情况下,开发人员不能够直接生成View Object元素。而是必须先建立Entity Object元素之后,再根据这个元素来建立View Object元素。这个道理也很好理解,就相当于数据库中的表和视图。必须先建立表对象,然后再建立视图对象。虽然在数据库中已经可以实现先建立视图,然后再建立基础表,不过在JDeveloper开发环境中还不能够实现。
在使用这个元素的时候,笔者要强调一点。其只是一个View,而不会对Entity Object元素产生任何实质的影响。也就是说,一个Entity Object元素可以对应多个View Object,而这个多个View Object元素之间的关系是相对独立的,不会相互干涉。