zoukankan      html  css  js  c++  java
  • ofbiz多表外键关联查询

    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>
  • 相关阅读:
    Ubuntu安装Apache
    【C#设计模式——创建型模式】抽象工厂模式
    【C#设计模式——创建型模式】工场方法模式
    【C#设计模式——创建型模式】简单工场模式
    JS判断是不是Decimal类型(正则实现)
    JS实现给页面表单设置触发默认按钮
    记录ASP.NET页面表单初始状态(主要是为了前台可以根据这个判断页面是否变动了)
    Js触发ASP.NET Validation控件的验证, 同时获取前台验证结果(不包括CustomValidator)
    根据字段名查找表名
    SqlServer判断数据库、表、存储过程、函数是否存在
  • 原文地址:https://www.cnblogs.com/lovenan/p/3243043.html
Copyright © 2011-2022 走看看