OFBIZ研究心得之五

6.3  OFBiz数据库实体引擎配置

6.3.1  创建数据库表

Apache OFBiz的实体引擎支持从简单的XML文件中定义数据库表结构,然后自动在数据库中建表,并生成映射对象,这样的好处是大大简化了数据库的构建流程[6]。下面以本系统中的一个实例说明如何实现。

一般需要用到两个文件:entitymodel.xml和entitygroup.xml。例如用户登录表的创建,需要对ofbiz\framework\security\entitydef下的entitymodel.xml作以下定义:

<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/entitymodel.xsd">

    <entity entity-name="UserLogin"

            package-name="org.ofbiz.security.login"

            title="User Login Entity">

      <field name="userLoginId" type="id-vlong-ne"></field>

      <field name="currentPassword" type="short-varchar"></field>

      <field name="passwordHint" type="description"></field>

      <prim-key field="userLoginId"/>

    </entity>

</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"

      xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/entitygroup.xsd">

    <entity-group group="org.ofbiz" entity="UserLogin" />

</entitygroup>

entitygroup.Xml的作用是映射到相应的实体,一般定义较为简单。

6.3.2  数据表字段类型定义

Apache OFBiz提供对多种数据库类型的支持,对不同的数据库的字段类型定义的机制给数据库维护带来更大的灵活性,以往直接在数据库软件中的工作只需一个fieldtype***.Xml文件(ofbiz\framework\entity\fieldtype)就可完成。如采用MySQL数据库,则对相应的fieldtypemysql.xml文件进行修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值