ADF系列-1.EO的各个属性初探

ADF中的EO可以看做关系型数据库中表的java展现形式.

1.Type

   此处的Type是java的类型,而需要映射的是数据库的类型,两者之间存在一些差异,各个映射关系如下:

数据库列类型 BC 属性类型 描述
VARCHAR2 java.lang.String

VARCHAR2 映照到
java.lang.String

NUMBER java.math.BigDecimal 精度>8,
NUMBER java.lang.Integer  
NUMBER java.lang.Long 1<精度<9
DATE java.sql.Date  
DATE java.sql.Timestamp  
TIMESTAMP java.sql.Timestamp  
BLOB oracle.jbo.domain.BlobDomain

BlobDomain 支持
streaming and lazy 数据加载

CLOB oracle.jbo.domain.ClobDomain

ClobDomain 支持
streaming and lazy 数据加载

2.Persistent

   当EO是从数据库的表生成的时候,此属性是默认选中的。当未选中此属性(临时属性,例如来源是:java代码或者Groove表达式),则表示该属性是非持久化的。

  但临时变量在业务逻辑中也可以存储属性值。

3.Mandatory

   此属性标记强制,会强制执行实体验证。例如,从拖对应的VO一个属性到jsff页面中如下,其中标黄的部分就是验证

            <af:inputText value="#{bindings.ApplyReasonDesc.inputValue}"
                          label="#{bindings.ApplyReasonDesc.hints.label}"
                          required="#{bindings.ApplyReasonDesc.hints.mandatory}"
                          columns="200" rows="3" readOnly="true"
                          maximumLength="#{bindings.ApplyReasonDesc.hints.precision}"
                          shortDesc="#{bindings.ApplyReasonDesc.hints.tooltip}"
                          id="it3">
              <f:validator binding="#{bindings.ApplyReasonDesc.validator}"/>
            </af:inputText>

4.Change Indicator

  此属性检查数据的不一致。当BC提交数据的变化到数据库时,ADF会验证所提交的数据的更新是否是未过时的更新。执行逻辑是在update到数据库之前执行一个select查询,将所EO中原来的值和数据库中的值进行比较。

5.Queriable

   此为查询逻辑标识。当这个值为true时,那么基于EO的VO就可以使用此属性值。

6.History Column

   若选中此属性,则下拉框中会出现:1.created on:何时创建;2.modified on :何时修改;3.created by:创建人;4.modified by:最后修改人;5.version number:对应版本

  勾选后此属性,数据会自动持久化到数据库中。

    

  7.Updatable

     有三个属性:1.Always:永久可以更新数据到数据库;2.While new :只有在新建一条数据的时候;3.Never:不能更新

  8.Refresh After

      当新增或者更改数据提交到数据库时,数据库的触发器做过操作之后,EO有必要在数据库的最新的数据提交之后的值做一个刷新,以便让EO重新获取最新的数据

      但该属性只有在oracle数据库的时候才能使用

  

   

原文地址:https://www.cnblogs.com/qizhelongdeyang/p/4323655.html