`
cuisuqiang
  • 浏览: 3935768 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3650303
社区版块
存档分类
最新评论

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

    博客分类:
  • SSH
阅读更多

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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics