6.3
Apache OFBiz的实体引擎支持从简单的XML文件中定义数据库表结构,然后自动在数据库中建表,并生成映射对象,这样的好处是大大简化了数据库的构建流程[6]。下面以本系统中的一个实例说明如何实现。
一般需要用到两个文件:entitymodel.xml和entitygroup.xml。例如用户登录表的创建,需要对ofbiz\framework\security\entitydef下的entitymodel.xml作以下定义:
<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </entitymodel> |
这个XML文件中的entity-name表示实体名,可由OFBiz转化为数据库表名,field标签下的name属性对应列名,type对应数据类型。需要说明的是,这里的type类型是由OFBiz自行定义。prim-key域对应关键字段的设置。此外,还有关系定义域,格式如:<relation type="one" fk-name="" rel-entity-name=""><key-map field-name=""/></relation>。
对ofbiz\framework\security\entitydef下的entitygroup.xml作以下定义:
<entitygroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </entitygroup> |
entitygroup.Xml的作用是映射到相应的实体,一般定义较为简单。
Apache OFBiz提供对多种数据库类型的支持,对不同的数据库的字段类型定义的机制给数据库维护带来更大的灵活性,以往直接在数据库软件中的工作只需一个fieldtype***.Xml文件(ofbiz\framework\entity\fieldtype)就可完成。如采用MySQL数据库,则对相应的fieldtypemysql.xml文件进行修改。