当前位置:首页 > 开发 > 编程语言 > Hibernate > 正文

Hibernate的查询 HQL查询 查询某几列

发表于: 2012-05-11   作者:cuisuqiang   来源:转载   浏览次数:
摘要: HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式。HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。   在HQL中,你可

HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式。HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。

 

在HQL中,你可以直接From你的实体对象来进行查询:

/**
 * 简单使用
 */
@SuppressWarnings("unchecked")
public static void test1(){
	Session session = HibernateSessionFactory.currentSession();
	String hql = "from User u";
	Query query = session.createQuery(hql);
	List<User> user = query.list();
	System.out.println("------------SQL执行完毕---------------");
	for (User us : user) {
		System.out.println(us.getName());
	}
}

 

类的后面可以接别名

 

如果想单独查询某一列,可以这样使用:

/**
 * 查询某列
 */
@SuppressWarnings("unchecked")
public static void test2(){
	Session session = HibernateSessionFactory.currentSession();
	String hql = "select name from User u";
	Query query = session.createQuery(hql);
	List<String> user = query.list();
	System.out.println("------------SQL执行完毕---------------");
	for (String us : user) {
		System.out.println(us);
	}
}

 

如果想查询某几列的话,只是返回的内容不同了而已:

/**
 * 查询某几列
 */
@SuppressWarnings("unchecked")
public static void test3(){
	Session session = HibernateSessionFactory.currentSession();
	String hql = "select id,name from User u";
	Query query = session.createQuery(hql);
	List user = query.list();
	System.out.println("------------SQL执行完毕---------------");
	for(Object obj : user){
		Object[] arrObj = (Object[])obj;
		System.out.println(arrObj[0] + "\t-->\t" + arrObj[1]);
	}
}

 

你可以使用博客提供的测试架子来进行编写测试示例!

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

Hibernate的查询 HQL查询 查询某几列

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一、Hibernate提供的查询方式 OID查询方式:主键查询。通过get()或者load()方法加载指定OID的对象查
一、数据库的emp名和dept表 建立持久化类和配置文件,可以用MyEclipse直接生成 持久化类 package en
Query接口 Query类型与org.hibernate.Criteria很接近,封装了对底层数据库表的查询请求 Query接口的
1、概述 注:本地SQL查询结果不再是结果集,而是持久化对象的集合,可以对结果进行面向对象编程 2、
1.Maven Dependency <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww
1. 查询语句组成 2. 查询语句关键字含义 2.1 LIMIT 类似于MySQL的LIMIT,用于限定查询记录数 2.2 WH
HQL(Hibernate Query Language) 面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除
1. 查询语句组成 2. 查询语句关键字含义 2.1 LIMIT 类似于MySQL的LIMIT,用于限定查询记录数 2.2 WH
1. 查询语句组成 2. 查询语句关键字含义 2.1 LIMIT 类似于MySQL的LIMIT,用于限定查询记录数 2.2 WH
提供的检索方式: (1)导航对象图检索方式 (2)OID检索方式 (3)HQL检索方式 (4)QBC检索方式[q
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号