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. HDU 5646

    DZY Loves Partition Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  2. centos上tensorflow一键安装脚本

    鉴于tensorflow在centos上安装相当麻烦,特地制作了一个脚本方便以后移植到其它机器上,脚本含有其它python常用包: #! /bin/bash   sudo yum install -y ...

  3. 如何在阿里云服务器部署Django

    这段时间一直在搞我的网站——大学易,一个大学生评课网站,主要是提供课程的详尽信息(比如老师会不会经常点名,有没有期中考试),课程资料的下载等等. 这篇文章主要是分享给那些菜鸟,就是像我一样完全没有搞过 ...

  4. 南阳ACM 题目71:独木舟上的旅行 Java版

    独木舟上的旅行 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客的总 ...

  5. 2015/8/10 Python基本使用(1)

    此文为<Python核心编程>的读书笔记记录. Python是一门解释性语言,所有的语句用解释器(interpreter)来直接解释,但它同时是High Level的语言,这样的组成能够在 ...

  6. IntelliJ IDEA 热加载

    修改java文件后 win按:Ctrl+Shift+F9 mac按:cmd+Shift+F9 tomcat-maven-plugin 启动的项目也用这个快捷键热加载

  7. spring mvc 注解详解

    1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ...

  8. bzoj 1700: [Usaco2007 Jan]Problem Solving 解题 ——dp

    Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有P (1 <= P <= 300) 道题目要做. 他们还离开了农场 ...

  9. 【CodeForces】896 B. Ithea Plays With Chtholly

    [题目]B. Ithea Plays With Chtholly [题意]交互题,有n格,每次给一个[1,c]的数字,回答填入的位置后再次给数字,要求在m轮内使n格填满且数列不递减.n,m>=2 ...

  10. 【CodeForces】788E New task

    [题意]n个数,每个数有附加属性0或1,初始全为1.m个操作,每个操作可以改变一个数字的属性为0或1.对于每次操作后的序列求有多少子序列满足要求:5个数字,中间3个数相等且属性为1,左右两个数小于等于 ...