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. exBSGS板子

    /*bzoj2480*/ #include <map> #include <cmath> #include <cstdio> #include <cstrin ...

  2. [转载]php中sleep,flush,ob_flush函数介绍

    <?phpecho str_pad(" ",1024);//当上面这句没有的时候浏览器没有任何输出 直到sleep函数设定的时间结束 才会输出//原因如下面截图for ($i ...

  3. Foxmail安装和登录

    Foxmail安装和登录... ============================== 下载Foxmail客户端:http://www.foxmail.com/ ================ ...

  4. Maven命令行窗口指定settings.xml

    maven命令行窗口指定特定settings.xml 在命令行界面指定settings.xml,命令如下: mvn install --settings c:\user\settings.xml 例如 ...

  5. CSS3知识之阴影box-shadow

    一.定义和用法 box-shadow 属性向框添加一个或多个阴影. box-shadow: h-shadow v-shadow blur spread color inset; h-shadow   ...

  6. LightOJ 1028 - Trailing Zeroes (I) 质因数分解/排列组合

    题意:10000组数据 问一个数n[1,1e12] 在k进制下有末尾0的k的个数. 思路:题意很明显,就是求n的因子个数,本来想直接预处理欧拉函数,然后拿它减n就行了.但注意是1e12次方法不可行.而 ...

  7. 鸡尾酒排序Cocktail sort

    鸡尾酒排序基于冒泡排序,双向循环 还是看例子吧,给定待排数组[2 3 4 5 1] 第一趟过去时的每一步 第一步迭代,2 < 3不换 [2 3 4 5 1] 第二步迭代,3 < 4不换 [ ...

  8. CSS hack浏览器兼容一览表

    CSS hack是指我们为了兼容各浏览器,而使用的特别的css定义技巧.这是国外摘来的一张CSS hack列表,显示了各浏览器对css hack的支持程度,对我们制作兼容网页非常有帮助.

  9. 【BZOJ4816】【SDOI2017】数字表格 [莫比乌斯反演]

    数字表格 Time Limit: 50 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Doris刚刚学习了fibonac ...

  10. bzoj 2276: [Poi2011]Temperature——单调队列

    Description 某国进行了连续n天的温度测量,测量存在误差,测量结果是第i天温度在[l_i,r_i]范围内. 求最长的连续的一段,满足该段内可能温度不降 第一行n 下面n行,每行l_i,r_i ...