ofbiz多表外键关联查询
- 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-related
- 实现二:在代码中使用 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")));
- 实现三:在 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多表外键关联查询的更多相关文章
- 基于EF的数据外键关联查询
现在很多ORM不自带外键关联的实体查询,比如我查询用户,用时将关联的角色信息查询出来,那么就要进行2次查询,很麻烦.而我现在要做的就是基于EF的外键关联查询.很方便的. 首先,创建基础查询的BaseS ...
- pythonのsqlalchemy外键关联查询
#!/usr/bin/env python import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.dec ...
- .netcore2.1 ef 使用外键关联查询
//实体类 [Table("invoiceinfo", Schema = "obs")] public class invoice { [Key] public ...
- sql查询指定表外键约束
//////////////////查询指定表外键约束select a.name as 约束名, object_name(b.parent_object_id) as 外键表, d.name as 外 ...
- Entity FrameWork对有外键关联的数据表的添加操作
前天做了一个MVC Entity FrameWork项目,遇到有外键关联的数据编辑问题.当你编辑的时候,按照正常的逻辑,把每个字段的数据都对号入座了,然后点击保存按钮,本以为会顺理成章的编辑数据,但是 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (29) ------ 第五章 加载实体和导航属性之过滤预先加载的实体集合和修改外键关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-13 过滤预先加载的实体集合 问题 你想过滤预先加载的实体集合,另外,你想使用 ...
- Entity Framework - 理清关系 - 基于外键关联的单向一对一关系
注:本文针对的是 Entity Framework Code First 场景. 之前写过三篇文章试图理清Entity Framework中的一对一关系(单相思(单向一对一), 两情相悦(双向一对 ...
- 【Python】django模型models的外键关联使用
Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs ...
- Python sqlalchemy orm 多外键关联
多外键关联 注:在两个表之间进行多外键链接 如图: 案例: # 创建两张表并添加外键主键 # 调用Column创建字段 加类型 from sqlalchemy import Integer, For ...
随机推荐
- java访问Https服务的客户端示例
关于证书 1.每个人都可以使用一些证书生成工具为自己的https站点生成证书(比如JDK的keytool),大家称它为“自签名证书”,但是自己生成的证书是不被浏览器承认的,所以浏览器会报安全提示,要求 ...
- windows下安装git
1.从Git官网下载windows版本的git:http://git-scm.com/downloads 2.一般使用默认设置即可:一路next,git安装完毕! 3.但是如果这时你打开windows ...
- shell脚本实现轮询查看进程是否结束
功能需求: 一个shell脚本,为了使用多进程,启动十几个后台运行的程序,为了防止脚本比后台进程提前结束造成不可预估的影响,现要判断是否多个后台执行的已知进程已经结束,并在所有进程结束后做出相应操作. ...
- [Leetcode] LRU 算法实现
Design and implement a data structure for Least Recently Used (LRU) cache. It should support the fol ...
- UITableView---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 //转载请注明出处--本文永久链接:http://www.cnblogs.com/C ...
- Fetch-新一代Ajax API
AJAX半遮半掩的底层API是饱受诟病的一件事情. XMLHttpRequest 并不是专为Ajax而设计的. 虽然各种框架对 XHR 的封装已经足够好用, 但我们可以做得更好. window.fet ...
- javascript性能
1.js文件放在底部 js文件具有阻塞机制,放在头部,需要等待js下载解析完毕之后才能下载渲染页面,因此需要放在底部
- 数字签名算法rsa
数字签名算法消息传递模型 由消息发送方构建密钥对,这里由甲方完成. 由消息发送方公布公钥至消息接收方,这里由甲方将公钥公布给乙方. 注意如加密算法区别,这里甲方使用私钥对数据签名,数据与签名形成一则消 ...
- 运维开发:python websocket网页实时显示远程服务器日志信息
功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用 ...
- linux编程之信号
信号(signal)机制是UNIX系统中最为古老的进程之间的通信机制,它用在一个或多个进程之间传递异步信号,信号可以由各种异步事件产生,如: 键盘中断等等,在Linux 的shell 中,也可以使用信 ...