`
webook_java
  • 浏览: 59009 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

Hibernate的HQL基础

阅读更多
a)大小写敏感问题:只对类和属性区分大小写。
	b)关联:
		(inner) join                
		left (outer) join
		right (outer) join
		full (outer) join
		
		with
			from Emp e join Dept d on e.deptId = d.id
			with e.name is not null			  
			
		fetch:把所关联的对象一同取出来	
			from Emp e join fetch e.dept
			select e.dept from Emp e
		
		from Emp e
		where e.dept.company.group.address.city is not null
		
	1)	select子句:
		select u.name, u.score from User u;
		select new User(u.name, u.score) from User u;
		select new List(u.name, u.score) from User u;
		select new Map(u.name as uname, u.score as uscore) from User u;
 	
 	2)命名参数
 		形式 —— “:paraname”	
 		query.setParameter("paraname", "z");	
 		
	3)where子句
		a、比较运算:可以比较对象
				from Emp e1, Emp e2
				where e1.dept = e2.dept;
		b)内置class属性
			from Product p where p.class = Book;		
		  	相当于 from Book;
		  	
	4)内置函数
		a)字符串:
				连接  ‘a’ || ‘b’
				upper(s)、lower(s)
				trim(s)
				length(s)
				substring(s, start, len)		
		b)日期函数:
				取当前日期(时间):current_date(),current_time(),current_timestamp()
				处理日期字段的:year(date_field),month(date_field),day(date_field)	,hour(),minute(),second()			
				  		from Order o 
				  		whrere year(o.createDate) = 2010	
		c)类型转换函数:
				str(age)   str(createDate)
				cast(age as string)
				cast('2011-01-05' as date)
				
				'2011-01-05 12:10:23'
		d)条件分支——“if else”
			case category when 1 then 'Book'
			when 2 then 'DVD'
			else 'unknown'
			end	
			
			case when money_val <= 20000 then 'deptManager'
			when money_val >= 20000 and money_val <= 50000 then 'fz'
			else 'topleader'
			end	

         5)子查询(嵌套查询)
		from Cat fatcat
			where fatcat.weight >
							(select avg(weight) from Cat);
	
         6)注意:某些底层数据库不支持某些特殊的功能。
			如 having中聚集函数(sum)在某些数据库	(如MySql)是不支持的。

				from Emp e
				group by e.age
				having avg(e.age) < 60			
分享到:
评论

相关推荐

    Hibernate HQL基础练习小列子+数据库文件

    Hibernate HQL基础练习小列子+数据库

    Hibernate HQL基础 限定查询条件 .doc

    HQL的基础包括了各种查询条件的设定,这些条件使得我们可以精确地定位和检索所需的数据。下面将详细介绍HQL中的一些关键操作和子句: 1. **Where 子句**: Where 子句是HQL中用于限制查询结果的关键部分,它接受一...

    hibernateHQL关联查询

    通过本文的介绍,我们不仅回顾了数据库表连接的基础知识,还深入了解了Hibernate HQL关联查询的实现原理及应用方法。对于开发者而言,掌握HQL关联查询不仅可以提高查询效率,还能让代码更加简洁易懂。希望本文能帮助...

    Hibernate hql查询语法总结

    本文将对Hibernate HQL查询语法进行总结,涵盖基础查询、属性查询、实例化查询以及查询链接等多个方面。 1. 基础查询: 基础查询是最简单的HQL语句,用于获取所有`Student`对象。例如: ```java from Student ``` ...

    Hibernate-HQL.rar_HQL_hibernate hql

    本篇文档将深入探讨Hibernate中的HQL(Hibernate Query Language),一种面向对象的查询语言,它提供了与SQL类似的语法,但更贴近于面向对象的思维模式,使得开发者可以更加便捷地进行数据查询。 一、HQL简介 HQL是...

    HibernateHql综合测试小程序

    本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...

    精通hibernate HQL语言

    在学习HQL基础时,我们通常会用到一些示例数据。在这个例子中,我们有三个数据库表:`student`(学生表)、`course`(课程表)和`sc`(选课表)。`student`表包含学生的学号(`sno`)、姓名(`sname`)、性别(`ssex...

    hibernateHQL基本查询

    #### 四、HQL 查询基础 在 Hibernate 中,所有的查询都是通过 `Query` 对象来实现的,可以通过 `Session` 对象的 `createQuery` 方法创建 `Query` 对象,并传入 HQL 语句。 ##### 1. 查询所有对象 以查询所有图书...

    另类查询 Hibernate HQL 深度历险

    **投影**是HQL中的基础概念,允许选择返回的对象或对象的属性。`from`子句用于获取指定类的所有实例,例如`from Order`将返回`Order`类的所有对象,这与SQL中的`select * from Order`等价。`from`子句可以与别名一起...

    hibernate hql各类查询范例

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 1....这些知识点对于理解和掌握 Hibernate 框架的基本使用至关重要,同时也是开发基于 Hibernate 的应用程序时不可或缺的基础技能。

    Hibernate HQL精华

    除了基础查询,HQL还支持更复杂的查询操作,如条件查询、排序、分页等。例如,你可以根据特定条件筛选用户: ```java String hql = "from Users where name like '%name1%'"; Query query = session.createQuery...

    hibernate-hql 资料大全

    1. **find(String queryString)**: 这是最基础的HQL查询方法,接受一个HQL语句作为参数,返回所有匹配该查询的实体对象。例如,"from bean.User"会返回所有的User对象。 2. **find(String queryString, Object ...

    Hibernate数据检索(HQL)笔记

    #### 二、HQL 基础 HQL 是一种面向对象的查询语言,它支持 SQL 的大部分功能,并提供了一些面向对象的特性。HQL 查询通常用于检索特定条件下的对象集合或单个对象。 ##### 1. HQL 语法特点: - **面向对象**:HQL ...

    hibernate 查询?Hibernate的HQL查询

    1. HQL基础:HQL基于面向对象的概念,将表映射为类,列映射为属性,使得查询更符合Java开发者的思维模式。它支持连接(inner/outer/full joins)、投影、聚合、分组、排序、子查询以及SQL函数调用。 2. 简单HQL示例...

    Hibernate-HQL-查询-Query资料

    - "HQL查询语言.doc"可能包含HQL的基础语法和用法的介绍。 - "HQL查询.doc"可能深入探讨了更复杂的查询技巧和注意事项。 - "HQL语句(结合实例).doc"则可能提供了具体的查询示例,帮助读者更好地理解和应用HQL。...

    hibernate的HQL的模糊查询

    二、HQL模糊查询基础 在HQL中,我们可以使用`like`关键字来进行模糊查询。`like`关键字后面可以跟一个包含通配符的字符串。常见的通配符有: - `%`:代表零个、一个或多个任意字符。 - `_`:代表一个任意字符。 ...

    Hibernate HQL教程

    #### 1.1 HQL基础 ##### 1.1.1 默认数据库表和数据 - **介绍**: 本文档以`joblog`数据库为例,该数据库包含三个表:`student`(学生表)、`course`(课程表)和`sc`(选课表)。 - **学生表**(student): - 字段包括:`id...

    hibernate hql语句 投影查询的三种方式.docx

    在Hibernate框架中,HQL(Hibernate Query Language)是用于操作对象关系映射的查询语言,类似于SQL,但它是面向对象的。本篇文章将详细介绍在Hibernate中进行投影查询的三种主要方式:直接查询、查询返回对象以及...

    Hibernate教程(数据查询)HQL,PDF格式

    #### HQL基础 HQL是一种面向对象的查询语言,它支持基本的SQL操作,并在此基础上进行了封装,使其更加符合面向对象的编程风格。HQL查询通常是在Session对象上调用`createQuery()`或`createSQLQuery()`方法来执行的...

    hibernate 中HQL语句查询学习笔记

    #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及关联关系的查询。 ##### 默认数据库表和...

Global site tag (gtag.js) - Google Analytics