Hibernate中,left join、inner join以及left

原创 2016年06月01日 16:32:49

原文地址:http://m33707.iteye.com/blog/829725

Select <要查询的字段> From <Left 资料表>  <Left | Right> [Outer] Join <Right 资料表> On <Join 规则> 
LEFT JOIN返回”left_table”中所有的行尽管在” right_table”中没有相匹配的数据。 

RIGHT JOIN返回”right_table”中所有的行尽管在”left_table”中没有相匹配的数据。 

INNER JOIN返回的结果集是两个表中所有相匹配的数据。 

Fetch: 

在我们查询Parent对象的时候,默认只有Parent的内容,并不包含childs的信息,如果在Parent.hbm.xml里设置lazy="false"的话才同时取出关联的所有childs内容. 
问题是我既想要hibernate默认的性能又想要临时的灵活性该怎么办?  这就是fetch的功能。我们可以把fetch与lazy="true"的关系类比为事务当中的编程式事务与声明式事务,不太准确,但是大概是这个意思。 
Query q = session.createQuery("from Parent as parent "+" left outer join fetch parent.childs " +" where parent.id = :id"); 
总之,fetch就是在代码这一层给你一个主动抓取得机会. 
可以在lazy="true"的情况下把fetch去掉,就会报异常. 当然,如果lazy="false"就不需要fetch了
版权声明:本文为博主原创文章,未经博主允许不得转载。

一段代码说明LEFT JOIN 和INNER JOIN

SELECT a~aufnr a~erdat a~werks a~objnr b~rsnum b~plnbez b~aufpl c~maktx          d~j_3asize AS j_3ak...
  • Bruce_yin
  • Bruce_yin
  • 2016年11月21日 16:53
  • 1993

Left Join, Inner Join 的相关内容,非常实用,对于理解原理和具体应用都很有帮助!

Left Join, Inner Join 的相关内容,非常实用,对于理解原理和具体应用都很有帮助! left join 是left outer join的简写,left join默认是oute...
  • ys410900345
  • ys410900345
  • 2015年04月02日 10:26
  • 2988

SQL中INNER、LEFT、RIGHT JOIN的区别和用法详解

相信很多人在刚开始使用数据库的INNER JOIN、LEFT JOIN和RIGHT JOIN时,都不太能明确区分和正确使用这三种JOIN操作,本文通过一个简单的例子通俗易懂的讲解这三者的区别,希望对大...
  • wangyuchun_799
  • wangyuchun_799
  • 2015年10月13日 14:12
  • 8887

【MySQL】MySQL中链接查询inner join与left join使用

在有些场景下需要我们对两个表里的结果进行查询,这个时候就需要连接查询了。连接查询其实就是对两个表记录做笛卡尔乘积。如果不指定连接行的话,则会对每行都做笛卡尔乘积,这样最后返回的结果树就会是两个表记录数...
  • s120922718
  • s120922718
  • 2013年05月25日 06:51
  • 4001

hibernate之一对一 外键关联 left join

在项目紧急这个节骨眼上,这
  • waiwai4701
  • waiwai4701
  • 2014年09月21日 18:04
  • 1161

左连接(left jion)、右连接(right jion)、内连接(inner join)性能比较

前提:数据库中一共有三个表:class,book,phone,而且每个数据库表中都有10万条数据,三个表一共有30万条数据,从大数据量的角度来检测你写的sql语句性能是如何的. 一.左连接 用sq...
  • tomorrow_C
  • tomorrow_C
  • 2017年03月23日 10:58
  • 1638

Hibernate中HQL语句的left join的例子详解

1.com.jcuckoo.entity添加ShowBook类,用来封装界面显示的数据 public class ShowBook { @Id private int id; private ...
  • guoquanyou
  • guoquanyou
  • 2014年10月24日 10:22
  • 19870

EXISTS、IN与JOIN性能分析

EXISTS、IN与JOIN,都可以用来实现形如“查询A表中在(或不在)B表中的记录”的查询逻辑。 在论坛上看到很多人对此有所误解(如关于in的疑惑、用 外连接 和 Is Null 代替 not i...
  • caomiao2006
  • caomiao2006
  • 2016年08月03日 00:19
  • 2686

Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题

一、问题背景分账表split_summary结构如下:create table SPLIT_SUMMARY ( uuid VARCHAR2(32) not null,...
  • honghailiang888
  • honghailiang888
  • 2017年07月10日 17:01
  • 3131

left join 和 left outer join 的区别---其他功能(inner join 等价于直接,和==条件)(左右代表依着一边的数据条数)

通俗的讲:     A   left   join   B   的连接的记录数与A表的记录数同     A   right   join   B   的连接的记录数与B表的记录数同       A  ...
  • jintianhen1
  • jintianhen1
  • 2014年01月08日 17:12
  • 972
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate中,left join、inner join以及left
举报原因:
原因补充:

(最多只允许输入30个字)