`
gzspark
  • 浏览: 107453 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

OFBiz实体引擎开发烹调书 (一)

阅读更多
* 保持实体名称少于25个字符
这个限制主要是为了Oracle只支持30字符以内的数据库对象名称,再加上OFBiz会自动在单词之间加上"_",所以就得出了这么个限制.

* 关联的工作方式
它们定义于entitymodel.xml文件中的<entity>段,示例如下:
      <relation type="one" fk-name="PROD_CTGRY_PARENT" title="PrimaryParent" rel-entity-name="ProductCategory">
        <key-map field-name="primaryParentCategoryId" rel-field-name="productCategoryId"/>
      </relation>
      <relation type="many" title="PrimaryChild" rel-entity-name="ProductCategory">
        <key-map field-name="productCategoryId" rel-field-name="primaryParentCategoryId"/>
      </relation>
 
    type这个属性标签定义关联类型: "one"表示一对一,"many"表示从此实体引出的一对多关系
    fk-name的属性值是数据库外键名.为自己的外键命名是一个好的习惯,虽然如果你不设置此属性,OFiz也会自己建外建.
    rel-entity-name的属性值指向关联的实体名称
    title用来区分两个实体之间的多重关系
    <key-map>节点定义关联中使用到的字段.field-name指向本实体内的引用字段,rel-field-name定义关联的实体字段,你可以通过多个字段组合关联
    当你访问一个关联,你可以使用title+entityName作为参数调用.getRelated("")或.getRelatedOne("")方法.在关联为"many"时使用.getRelated("")是恰当的,因为它返回一个List,同样在关联为"one"时通过.getRelatedOne("")方法获得一个值.

* view-entities相关内容
view-entities的功能非常强大,它允许你可以创建一个join-like查询,即使你的数据库不支持join.
关于你数据库的join语法存放在entityengine.xml的datasource节点下的join-style属性中.
当你通过<view-link...>节点将两上实体连接起来时,记住:
1. 实体名称顺序是重要的
2. 默认的连接方式是inner join(即同样的值存在于两个实体类中),外连接需要使用rel-optional="true"
如果多个实体中拥有相同的字段名称,比如statusId,结果集中的statusId使用第一个实体中的该列,其它实体中的同名列将被丢弃.如果你想要同时获得这些列,你需要通过在其之前加入<alias-all>节点,一个方式是使用<alias ..>节点来为不同实体的同名字段起别名,示例:
<alias entity="EntityOne" name="entityOneStatusId" field="statusId"/>
<alias entity="EntityTwo" name="entityTwoStatusId" field="statusId"/>
 
另一种方法是在<alias-all>节点中使用<exclude field="">,如下:
<alias-all entity-alias="EN">
  <exclude field="fieldNameToExclude1"/>
  <exclude field="fieldNameToExclude2"/>
</alias-all>
 

这样也可以排除掉很多不打算使用到的信息,特别是在一个非常大的表中查询时.
如果你打算执行类似于以下的查询语句时:
SELECT count(visitId) FROM  GROUP BY trackingCodeId WHERE fromDate > '2005-01-01'
 
需要包含字段visitId以及function="count" 标签,trackingCodeId需加上group-by="true"标签,fromDate需要加上group-by="false"标签

在你进行查询时,有一件非常重要的事情需要注意,比如说delegator.findByCondition方法,你必须指定检出的字段列表,并且你不能指定fromDate字段,否则你将得到一个错误.这就是为webtools不能够使用view-entities来查看的原因.

你可以查看applications/marketing/entitydef/entitymodel.xml的底部内容学习,及通过applications/marketing/webapp/marketing/WEB-INF/actions/reports学习beanshell脚本的调用.

未完待续>>

本文档译自ofbiz 4.0 cookbooks,本人翻译,欢迎转载,请注明出处.
1
0
分享到:
评论

相关推荐

    OFbiz实体引擎指南

    OFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,... OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。

    ofbiz_服务引擎

    ofbiz_服务引擎,ofbiz中最为称道的部分

    Apache+OFBiz+开发初学者指南.chm

    OFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,... OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。

    OFBIZ开发指南 英文2

    OFBIZ开发指南 英文2OFBIZ开发指南 英文2OFBIZ开发指南 英文2

    ofbiz实体引擎

    NULL 博文链接:https://jiasudu.iteye.com/blog/254581

    OFBIZ10.04组件开发入门.doc

    本文档以讲解Region例子程序的代码为引子,介绍OFBIZ组件开发的相关知识。目的是为帮助OFBIZ初学者,尽快上手,自己动手进行开发,进而自己学习更多的OFBIZ技术,“在水中学会游泳”……

    Ofbiz16.11.05运行及开发环境搭建等

    gradle ofbiz 16 开发环境搭建 2 Ofbiz中增加百度地图 8 使用entity-auto服务实现增加、修改、删除提示国际化 9 ...ofbiz实体引擎(九) 多租户 31 菜单权限配置 34 ofbiz权限判断语法整理 42 ofbiz 权限设计详解 43

    Ofbiz开发规范.docx

    Ofbiz开发规范.docx

    Apache+OFBiz+开发初学者指南

    OFBiz是一个非常著名的电子商务平台,是一个非常著名的开源... OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。本资料详细介绍了ofbiz框架的基本原理,使用技巧,是初学者的必备之选。

    ofbiz 入门+增删改查+实体

    ofbiz入门图文讲解,包括入门helloworld 和使用ofbiz 新建实体 操作数据库对实体增删改查

    Ofbiz快速开发入门详解

    Ofbiz开发快速入门.pdf.源码:hello.rar

    ofbiz开发手册

    本文档作为一个OFBiz的入门教材,主要介绍OFBiz的环境搭建、安装以及用一个简单的应用作为例子介绍了OFBiz应用开发的流程。

    ofbiz初学者开发指南

    OFBiz(Apache Open For Business)是一个开源框架,设计为帮助构建企业资源计划(ERP)软件。ERP是任何致力于整合所有业务处理及后台数据到一个系统的一个统称。实际上,OFBiz框架不仅帮助构建自定义软件,还打包有许多...

    ofbiz资料大全

    里面是下载地址,如果逆向开发ofbiz,只要下载它就绝对没错了 Apache+OFBiz+开发初学者指南.rar OFBiz开发快速入门.rar OFBiz-技术文档.rar OFBiz API中文版.rar Apache OFBiz Cookbook Sep 2010.rar Opentaps ...

    ofbiz开发初学者指南

    ofbiz开发初学者指南

    ofbiz devolopment tutorial 开发指南

    ofbiz devolopment tutorial 开发指南

    ofbiz_springservice.zip

    基于spring封装的ofbiz所有服务,使用spring security进行安全验证,可以方便的发布为微服务,同时实现了一套直接使用ofbiz实体引擎操作ofbiz所有数据库表的spring应用框架设计

    ofbiz开发文档

    ofbiz开发文档。最新版下载。最新使用文档和使用方法。仅做参考

    ofbiz api开发文档

    还在为找不到ofbiz开发文档而烦恼吗?

Global site tag (gtag.js) - Google Analytics