1.Type
此处的Type是java的类型,而需要映射的是数据库的类型,两者之间存在一些差异,各个映射关系如下:
数据库列类型 | BC 属性类型 | 描述 |
VARCHAR2 | java.lang.String | VARCHAR2 映照到 |
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 支持 |
CLOB | oracle.jbo.domain.ClobDomain | ClobDomain 支持 |
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数据库的时候才能使用