1. 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-related
  2. 实现二:在代码中使用 DynamicViewEntity对象,加入addMemberEntity,addAlias,addViewLink,再用 find 查询
DynamicViewEntity dve = new DynamicViewEntity();

        dve.addMemberEntity("TMP", GlobalConstant.TRUST_MALL_PRODUCT_ENTITY_NAME);

        dve.addAlias("TMP", "productId");

        dve.addAlias("TMP", "productCode");

        dve.addAlias("TMP", "productName");

        dve.addAlias("TMP", "productPrice");

        dve.addAlias("TMP", "prodStatus");

        dve.addAlias("TMP", "productStandardPrice");

        dve.addAlias("TMP", "inventoryStatus");

        dve.addAlias("TMP", "productKeywords");

        dve.addAlias("TMP", "productDesc");

        dve.addAlias("TMP", "prodCreatedBy");

        dve.addAlias("TMP", "createdStamp");

        dve.addAlias("TMP", "prodModifiedBy");

        dve.addAlias("TMP", "lastUpdatedStamp");

        dve.addAlias("TMP", "shopId");

        dve.addRelation("one", "", "MallProductCategory", UtilMisc.toList(new ModelKeyMap("categoryId", "categoryId")));

        dve.addMemberEntity("MPC", "MallProductCategory");

        dve.addAlias("MPC", "categoryId");

        dve.addAlias("MPC", "sortedName");

        dve.addViewLink("TMP", "MPC", false, UtilMisc.toList(new ModelKeyMap("categoryId", "categoryId")));
  1. 实现三:在 entity.xml 里定义 view-entity 实体对象,在查询时就查这个view的对象
<view-entity entity-name="VShopReview" package-name="com.ufinity.trustmall">

        <member-entity entity-alias="SR" entity-name="ShopReview"></member-entity>

        <member-entity entity-alias="TMUI" entity-name="TrustMallUserInfo"></member-entity>

        <member-entity entity-alias="TMS" entity-name="TrustMallShop"></member-entity>

        <member-entity entity-alias="SRR" entity-name="ShopReviewReported"></member-entity>

        <alias-all entity-alias="SR"/>

<alias name="shopReviewId" entity-alias="SR" group-by="true"/>

        <alias name="userName" entity-alias="TMUI"/>

        <alias name="shopName" entity-alias="TMS"/>

        <alias name="createdStamp" entity-alias="SR"/>

        <alias name="reporterId" entity-alias="SRR" field="userId" col-alias="userId"/>

        <view-link entity-alias="SR" rel-entity-alias="TMUI">

            <key-map field-name="userId" rel-field-name="userId"/>

        </view-link>

        <view-link entity-alias="SR" rel-entity-alias="TMS">

            <key-map field-name="shopId" rel-field-name="shopId"/>

        </view-link>

        <view-link entity-alias="SR" rel-entity-alias="SRR" rel-optional="true">

            <key-map field-name="shopReviewId" rel-field-name="shopReviewId"/>

        </view-link>

    </view-entity>

ofbiz多表外键关联查询的更多相关文章

  1. 基于EF的数据外键关联查询

    现在很多ORM不自带外键关联的实体查询,比如我查询用户,用时将关联的角色信息查询出来,那么就要进行2次查询,很麻烦.而我现在要做的就是基于EF的外键关联查询.很方便的. 首先,创建基础查询的BaseS ...

  2. pythonのsqlalchemy外键关联查询

    #!/usr/bin/env python import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.dec ...

  3. .netcore2.1 ef 使用外键关联查询

    //实体类 [Table("invoiceinfo", Schema = "obs")] public class invoice { [Key] public ...

  4. sql查询指定表外键约束

    //////////////////查询指定表外键约束select a.name as 约束名, object_name(b.parent_object_id) as 外键表, d.name as 外 ...

  5. Entity FrameWork对有外键关联的数据表的添加操作

    前天做了一个MVC Entity FrameWork项目,遇到有外键关联的数据编辑问题.当你编辑的时候,按照正常的逻辑,把每个字段的数据都对号入座了,然后点击保存按钮,本以为会顺理成章的编辑数据,但是 ...

  6. 《Entity Framework 6 Recipes》中文翻译系列 (29) ------ 第五章 加载实体和导航属性之过滤预先加载的实体集合和修改外键关联

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-13  过滤预先加载的实体集合 问题 你想过滤预先加载的实体集合,另外,你想使用 ...

  7. Entity Framework - 理清关系 - 基于外键关联的单向一对一关系

      注:本文针对的是 Entity Framework Code First 场景. 之前写过三篇文章试图理清Entity Framework中的一对一关系(单相思(单向一对一), 两情相悦(双向一对 ...

  8. 【Python】django模型models的外键关联使用

    Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs ...

  9. Python sqlalchemy orm 多外键关联

     多外键关联 注:在两个表之间进行多外键链接 如图: 案例: # 创建两张表并添加外键主键 # 调用Column创建字段 加类型 from sqlalchemy import Integer, For ...

随机推荐

  1. was(websphere application server)中用apache的httpclient时jar包冲突问题的解决

    这个问题可以用was的共享库解决. 具体解决方案如下图所示: 对于有多个jar包冲突时,为每个冲突的jar包都新建一个共享库即可. 我之前的错误操作是以为一个共享库可以添加多个冲突的jar包用分号和逗 ...

  2. HDU1698 线段树(区间更新区间查询)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...

  3. JavaScript中检测数组的几种方式

    检测一个对象是否为数组的方式有: Array.isArray()          // true或false(es5) toString.call([]);       // [object Arr ...

  4. git代码冲突

    如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候, 在发布这个配置文件的时候,会发生代码冲突: error: Your local changes to the f ...

  5. generatorConfiguration配置文件及其详细解读

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...

  6. Jmeter 自动化脚本录制-Badboy

    1. Badboy 录制操作(输入URL其余和平常操作一毛一样). 2. 保存结果,并Export to Jmeter,退出保存. 3. 导入已录制好的文件,添加监听器查看结果. 一般的监听器有(查看 ...

  7. Item 11 谨慎地覆盖Clone

    1.进行浅拷贝时,只是复制原始数据类型的值,则可以通过覆盖Clone方法来达到.另外,在进行浅拷贝的时候,还要注意,成员对象中不应该要有引用类型,如果有引用类型,那么,进行了浅拷贝之后,两个对象将会共 ...

  8. Bzoj4870 [SXOI2017]组合数问题

    Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 155  Solved: 78 Description Input 第一行有四个整数 n, p, k, ...

  9. Java 对象排序详解

    很难想象有Java开发人员不曾使用过Collection框架.在Collection框架中,主要使用的类是来自List接口中的ArrayList,以及来自Set接口的HashSet.TreeSet,我 ...

  10. Spring 框架的设计理念与设计模式分析(山东数漫江湖)

    Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring ...