在OFBiz中对model的定义配置文件一般放在组件下的entitydef目录下。在该配置文件中通过
为了更好的理解
type属性的值为之前查看的已经定义好的类型,在真正执行的时候会对应到相应的java类型和数据库类型;
name属性的值即为字段的名称;
prim-key节点用来声明主键,注意该节点的field属性值必须在之前定义过;
relation节点是用来定义关系的,在该节点中的type属性一般有三种类型"one","many","one-nofk"
one、one-nofk的使用条件是被关系实体的rel-field-name为主键;
many的使用条件是被关系实体的rel-field-name为非主键;
而one 与 one-nofk 的区别在于one会在数据库表结构中创建外键约束,而one-nofk 则不会;
fk-name属性用来定义外键的名称;
rel-entity-name用来定义被引用的实体的名称;
title属性用来给该关系起别名;
relation节点下面的key-map节点来定义关系实体的字段信息,field-name属性用来定义关系实体的外键字段,rel-field-name用来定义被关系实体的字段,如果关系实体的字段跟被关系实体的字段相同的话rel-field-name属性可以省略。
webtools中的功能
1.通过“浏览组件”选项可以看到已加载的组件信息,一目了然的看到每个组件的名称、物理路径、访问路径以及该组件下所包含的应用名称及其物理路径。
2.通过“标签管理”选项可以看到所有组件中在config目录下的标签配置文件都被加载进去,点击查找之后可以看到该标签配置文件中的所有标签名及其各种语言对应的值。
3.通过“实体数据维护”选项可以看到已加载到的所有的实体,通过右边的新建,关系,找,全部查看到所有有关实体的详细信息甚至每个域所对应的java类型和数据库类型。
4.通过“实体引用-INTERACTIVE”选项可以看到类似于JAVA API似得界面,左侧显示所有的实体包,右侧则是实体引用图表,可以看到全部实体信息。很详细的列出了每个实体的名称,映射到数据库里面的名称,每个域的Java名称,数据库名,域类型,Java类型,SQL类型。最后还有该表所包含的索引名称。
5.通过“实体引用图表”某个实体旁边的“人工程序信息”选择进入会看到该实体被定义的物理路径,实体所包含的域,关系,更加可以方便的看到用到该实体的所有服务,Forms和Screens。
6.通过“实体SQL处理程序”,可以在指定组中写固定的sql命令(即SQL语句),点击提交按钮就可以实现SQL语句的执行,类似于数据库的工作台一样。
7.通过“性能测试”选项,可以自行去调用增删改查以及根据缓存查找,常用的new HashMap,UtilMisc.toMap,UtilCache.get(String),UtilCache.get(GenericPK),UtilCache.put(GenericPK)等操作,最后把统计结果以列表的方式显示出来。
8.通过“服务引用”选项进入服务列表,因为服务比较多,可以根据服务名的首字母来进行筛选服务或者根据组件名来筛选。通过点击服务名来选择查看该项服务的具体信息。
9.通过“自启动以来的服务器统计”选项进入自启动以来的服务器统计页面,可以看到请求统计,事件统计,浏览统计等详细信息。