- 浏览: 449205 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
飞天奔月:
我来个简单点的代码 使用 LinkedHashSetpubli ...
ArrayList去重 -
飞天奔月:
public static <T> List< ...
ArrayList去重 -
aaron7524:
事务隔离级别 -
月陨殇:
wlh269 写道rswh110 写道lz内容写的不错,就是略 ...
事务隔离级别 -
lnx1824:
我的更奇怪,在本地静态的可以,放jetty里的页面后就不然,都 ...
JS得到上传图片尺寸
连接查询(重要)
* 内连接
* 外连接(左连接/右连接)
参见:JoinQueryTest.java
内连接有三种:inner join ,join,“=”
* 内连接
* 外连接(左连接/右连接)
参见:JoinQueryTest.java
内连接有三种:inner join ,join,“=”
package com.wlh.hibernate; import java.util.Iterator; import java.util.List; import junit.framework.TestCase; import org.hibernate.Session; public class JoinQueryTest extends TestCase{ /** * 内联结 */ public void testQuery1() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); //====关键字join==========// List students=session.createQuery("select s.name ,c.name from Student s join s.classes c").list(); for(Iterator iter=students.iterator();iter.hasNext();){ Object [] o=(Object [])iter.next(); System.out.println("id="+o[0]+",o[1]"+o[0]); } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); } } /** * 内联结 */ public void testQuery2() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); //=======关键字inner join 默认就是内连接,所以inner可以加上,也可以省略======// List students=session.createQuery("select s.name, c.name from Student s inner join s.classes c").list(); for(Iterator iter=students.iterator();iter.hasNext();){ Object [] o=(Object [])iter.next(); System.out.println("id="+o[0]+",o[1]"+o[0]); } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); } } /** * 内联结 */ public void testQuery3() { Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); //===========用"="实现内联===========// List students=session.createQuery("select s.name ,c.name from Student s ,Classes c where s.classes.id=c.id").list(); for(Iterator iter=students.iterator();iter.hasNext();){ Object [] o=(Object [])iter.next(); System.out.println("id="+o[0]+",o[1]"+o[0]); } session.getTransaction().commit(); }catch(Exception e) { e.printStackTrace(); session.getTransaction().rollback(); }finally { HibernateUtils.closeSession(session); } } [b][color=red]外联接:能够查出2个表之间不相互关联的记录[/color] [/b]
/**
* 外联结
*/
public void testQuery4() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
//查询出所有的学生(包括没有班级的学生)
List students=session.createQuery("select s.name ,c.name from Student s left join s.classes c").list();
for(Iterator iter=students.iterator();iter.hasNext();){
Object [] o=(Object [])iter.next();
System.out.println("id="+o[0]+",o[1]="+o[1]);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
/**
* 外联结
*/
public void testQuery5() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
//查询出所有的班级,(包括没有学生的班级)
List students=session.createQuery("select s.name ,c.name from Student s right join s.classes c").list();
for(Iterator iter=students.iterator();iter.hasNext();){
Object [] o=(Object [])iter.next();
System.out.println("id="+o[0]+",o[1]="+o[1]);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
}
发表评论
-
java开发实战视频详解
2017-07-02 08:09 496java开发实战视频详解 链接: http://pan.bai ... -
什么样的数据适合存放到第二级缓存中
2009-04-11 17:15 1685(一)Hibernate的二级缓存策略的一般过程如下: 1) ... -
hibernate二级缓存攻略
2009-04-10 18:13 946http://www.iteye.com/topic/1890 ... -
关于hibernate缓存的问题
2009-04-10 18:12 10161. 关于hibernate缓 ... -
get方法和load方法区别
2009-04-03 18:38 1353hibernate中get方法和load方法的根本区别在于:如 ... -
Hibernate性能调优(重点理解)
2009-03-02 12:48 1239一。 inverse = ? inv ... -
hibernate查询缓存
2009-03-02 11:17 3730hibernate查询缓存 查询缓存是缓存普通属性结果集 ... -
浅谈hibernate性能优化的几点建议
2009-02-21 11:15 975浅谈hibernate性能优化的几点建议 1、针对orac ... -
Hibernate抓取策略
2009-02-17 12:37 1335hibernate抓取策略(单端代理的批量抓取) 保持< ... -
Hibernate二级缓存的使用
2009-02-17 12:22 10041.加入ehcase.xml文件; 2.在配置文件中加入如下代 ... -
Hibernate一级缓存
2009-02-03 02:57 883一级缓存生命周期很短,它session的生命周期一致,一级缓存 ... -
HQL (十) 统计查询
2009-02-02 18:28 2316统计查询(重要) 参见:StatQueryTest.java ... -
HQL (八) 对象导航查询
2009-02-02 13:17 2077对象导航查询,在hql中采用.进行导航(重要) 参见:Obj ... -
HQL (七) 分页查询
2009-02-02 13:05 1157分页查询(重要) * setFirstResult(),数据 ... -
HQL (六) 查询过滤器
2009-02-02 12:22 1812查询过滤器 设置了查 ... -
HQL (五) 外置命名查询(sql语句单独保存起来)
2009-02-02 12:04 2259外置命名查询 * 在要查询对象对应的映射文件(这里是stud ... -
HQL (四) 原生sql查询
2009-02-02 11:27 1833hibernate也支持直接sql进行查询 参见:SqlQu ... -
HQL (三) 条件查询
2009-02-02 11:13 2555条件查询(重要) * 可以采用拼字符串的方式传递参数 * ... -
HQL (二) 实体对象查询
2009-02-02 11:05 1525实体对象查询(重要) * N+1问题,在默认情况下 ... -
HQL (一) 简单属性查询
2009-02-02 01:13 1890简单属性查询(重要) * 单一属性查询,返回结果集是属性列表 ...
相关推荐
HQL是指定连接查询方式,而且显式指定了关联级别的查询策略
HQL 连接查询
Hibernate中的关联查询实际上生成的是数据库表连接查询的SQL语句
SSH笔记-HQL查询(基于位置参数查询、基于命名参数查询、分页查询、命名查询、投影查询报表查询、内/迫切内/左外/迫切左外连接查询)、QBC(QBC检索查询、统计查询、排序查询、HQL操作数据库)、本地SQL查询
Hibernate 多表连接分页查询示范项目 Hibernate Criteria 多表连接 分页
hibernate hql语句 经典教程 实用 全面
1.3 HQL的嵌套子查询 15 1.3.1 嵌套子查询的概念 15 1.3.2 带有IN谓词的子查询 16 1.3.3 比较子查询 16 1.3.4 带有ANY或ALL的子查询 17 1.4 HQL的多表查询 17 1.4.1 表之间的关联关系 17 1.4.2 表中的数据 18 1.4.3 ...
至于关联和连接,多态(polymorphism)查询,子查询在以后具体实 例中学习。注意:HQL 关键字不区分大小写。 注意:由于篇幅有限,我在这里仅仅贴出了数据访问层的代码,就是在业务逻辑层可以直接 调用的方法。测试...
hibernate的hql查询 HQL(Hibernate Query Language),提供更加丰富灵活、更为强大的查询能力;HQL更接近SQL语句查询语法。查询的表(Table)名称是类的名称,表的字段是对象的属性,有多个类的话,可以使用类的全...
写了数据库的几种连接方式以及各个方式的使用说明!
数据预处理 BIT大数据作业1 2017
内连接与外连接的精简写法,可用于sql和hql中,即使hql中两实体不存在实际上的主外键关系,也适用。
使用vs2010打开解决方案。...连接数据库配置 <property name="connection.connection_string">Server=PC2011022315OVP\SQLEXPRESS;initial catalog=Test;Integrated Security=true 即可。 作者:清如许
Spring中hql查询方法,spring自带的
一开始觉得hibernate远没有jdbc直接连数据库简单,后来随着使用hql越来越多发现也不是这样,hibernate查询非常灵活,它的对象导航图就可以很简单的链表查询,hql连接语句也很好用。即使如此,hibernate始终都存在一...
持续更新ing Hibernate 开发学习手册 Hibernate 基本介绍 Hibernate 之 SQL、 HQL查询 Hibernate 之 Criteria 查询 Hibernate 整合 C3P0 连接池
通过将监测数据分布式Map压缩存储,利用HQL查询引擎及压缩接口将分布式Map压缩应用到连接查询的混洗阶段中,减小传递到查询聚合端的数据量,提高压缩数据的查询速度,并推导了时效性的相关公式。以北京某动车段10 kV...
HQL 中对查询语句的解释、优化、生成查询计划是由 Hive 完成的 所有的数据都是存储在 Hadoop 中 查询计划被转化为 MapReduce 任务,在 Hadoop 中执行(有些查询没有 MR 任 务,如: select * from table ) ...