ofbiz学习笔记01--多表关联查询

不管做什么项目,肯定会用到多表关联查询数据,从网络查询得知ofbiz有三种多表关联查询方法

  1. 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-related
  2. 实现二:在代码中使用 DynamicViewEntity对象,加入addMemberEntity,addAlias,addViewLink,再用 find 查询
  3. 实现三:在 entity.xml 里定义 view-entity 实体对象,在查询时就查这个view的对象

1,方法没写出来,以后再补充

2, 使用finddListIteratatorByCondtion把他查出来

DynamicViewEntity dve = new DynamicViewEntity();
            dve.addMemberEntity("tt", "AA");
            dve.addAlias("tt", "userName");
            dve.addAlias("tt", "sex");

              dve.addRelation("one", "", "BB",
                      UtilMisc.toList(new ModelKeyMap("userName", "userName")));

            dve.addMemberEntity("te", "BB");
            dve.addAlias("te", "userName");
            dve.addAlias("te", "name");
            dve.addRelation("one", "", "AA",
                      UtilMisc.toList(new ModelKeyMap("userName", "userName")));
            dve.addViewLink("te", "tt", false, UtilMisc.toList(new ModelKeyMap("userName", "userName")));

            EntityListIterator salesUsageIt = delegator.findListIteratorByCondition(dve, null,null, null, null, null );
            list= salesUsageIt.getCompleteList();

3,方法按我的理解就是相当于平常根据几张表建一个view视图,再查询这个view

配置view-entity,之后查这个视图就可以了。

<view-entity entity-name="Vview" package-name="org.ofbiz.test">

        <member-entity entity-alias="TY" entity-name="AA"></member-entity>

        <member-entity entity-alias="TT" entity-name="BB"></member-entity>
        <alias-all entity-alias="TY"/>

		<alias name="userName" entity-alias="TY" group-by="true"/>
        <alias name="userName" entity-alias="TY"/>
		<alias name="sex" entity-alias="TY"/>
        <alias name="name" entity-alias="TT"/>
        <alias name="address" entity-alias="TT"/> 

        <alias name="userName" entity-alias="TY" field="userName" col-alias="userName"/>

        <view-link entity-alias="TY" rel-entity-alias="TT">
            <key-map field-name="userName" rel-field-name="userName"/>
        </view-link>
        <alias name="userName" entity-alias="TT" field="userName" col-alias="userName"/>

    </view-entity>

  

时间: 2024-11-07 18:27:52

ofbiz学习笔记01--多表关联查询的相关文章

JPA学习笔记(14)——关联查询

left outer join String jpql = "FROM User u WHERE u.id = ?"; Query query = entityManager.createQuery(jpql); query.setParameter(1, 1);//第一个参数是占位符的位置,从1开始,第二个参数是要传入的参数 User user = (User) query.getSingleResult(); System.out.println(user); user中有orde

图解SQL多表关联查询

图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接 左连接 右连接 全外连接

mark---[mysql多表关联查询的优化方法]

对于一个网站来说,数据库的结构至关重要.即要利于存储(入库不阻塞),又要利于查询(查询不锁表).网站数据库优化经验是一个积累的过程.下面就对多表关联查询的优化方法,举例说明. 现在社区分享类网站很火,就拿方维购物分享网站举例说明吧.也是对二次开发方维购物分享网站的一点总结,高手可以飞过. 购物分享的关键表有:分享表.图片表.文件表.评论表.标签表.分类表等. 围绕分享的表就么多,哇,那也不少啊.当我们查看一个图片的详细信息时,就要显示以上表里的信息.显示图片所属的分类.给图片打的标签.图片的评论

oracle02--多表关联查询

1. 多表(关联)查询 多表查询也称之为关联查询.多表关联查询等,主要是指通过多个表的关联来获取数据的一种方式. 1.1. 多表映射关系 一对多:A表的一行数据,对应B表中的多条.如:一个部门可以对应多个员工. 多对一:B表中的多条对应A表的一行数据.如:多个员工对应一个部门. 多对多:学生和选修课表----学生和课程对应表. 一对一:人员基本信息和人员信息扩展表. 1.2. 笛卡尔集 笛卡尔集对于我们数据库的数据查询结果的影响: 1. 数据冗余.---笛卡尔集并不是我们所需要的数据. 2. 效

【opengl 学习笔记01】HelloWorld示例

<<OpenGL Programming Guide>>这本书是看了忘,忘了又看,赶脚还是把笔记做一做心里比较踏实,哈哈. 我的主题是,好记性不如烂笔头. ================================================================ 1. 下载glut库 glut库地址为:www.opengl.org/resources/libraries/glut/glutdlls37beta.zip glut全称为:OpenGL Utilit

Hibernate-多表关联查询结果的处理方法

Hibernate多表查询结果处理 (2014-07-06 20:45:40) 转载▼ 标签: hibernate 多表查询 结果集处理 分类: Java 如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式: 1. 对各个字段分别转化成对应类型,如下: Java代码: Query q = session.createQuery(" select members, classInfo.className " + "

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表

MySQL多表关联查询与存储过程

1.多表关联查询 --  **************关联查询(多表查询)**************** -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 1.1 交叉连接查询(不推荐.产生笛卡尔乘积现象:4 * 4=16,有些是重复记录) SELECT empName,deptName FROM employee,dept; -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 多表查询规则:1)确定查询哪些表   2)确定查询哪些字段   3)表与表之间连接条件

SQL Server 2008从基础开始学习历程(1)------创建表与查询

[by:yy] 无论我们学什么呢,都要讲究一个Why,一个How.那么我们为什么要学SQL呢?无非就那么几点. 1.为了适应其他技术,和其他技术配对而学. 我个人的理解呢,只要在IT行业,无论你学什么,或者做什么工作.都离不开数据库.而学习数据库呢,又太文字化了,看的心里就烦.我是很抵触文字的.看着一大排一大排的字,就怕.可能是大天朝的教育所致.已经怕了学生生涯了. 2.为了适应社会而学. 随便找个招聘信息,都会有标注需要会SQL语言啊.了解MySql呀.会搞Oracle呀.所以呢,为了能在找工