`

Hibernate_HQL函数汇总及其说明

 
阅读更多

via: http://blog.csdn.net/chenhuade85/article/details/7572148

 

Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。以下就是HQL的一些常用函数,有了这些函数,我们就可以拥有更多的灵活性,比如HQL如何取余,HQL如何返回集合的最值,HQL字符串处理,HQL时间、日期处理等。

函数名称 说明 类型 支持 使用方法 备注
ABS(n) 取绝对值 数学函数 JPAQL HQL ABS(column_name[数字类型对象属性])  
SQRT(n) 取平方根 数学函数 JPAQL HQL SQRT(column_name[数字类型对象属性])  
MOD(x,y) 取余数 数学函数 JPAQL HQL MOD([对象属性(数字)或值],[对象属性(数字)或值]) 数字必须是整型,返回参数1/参数2得的余数
SIZE(c) 方法集合内对象数量 集合函数 JPAQL HQL    
MINELEMENT(c) 返回集合中最小元素 集合函数 HQL    
MAXELEMENT(c) 返回集合中最大元素 集合函数 HQL    
MININDEX(c) 返回索引集合最小索引 集合函数 HQL    
MAXINDEX(c) 返回索引集合最大索引 集合函数 HQL    
MAX(n) 返回最大值 集合函数 JPQHQL HQL    
MIN(n) 返回最小值 集合函数 JPQHQL HQL    
COUNT(n) 返回计数 集合函数 JPQHQL HQL    
CONCAT(s1,s2) 连接连个字符串 字符串函数 JPQHQL HQL CONCAT([对象属性],[对象属性])  
SUBSTRING(s,offset,length) 返回子串 字符串函数 JPQHQL HQL SUBSTRING([要截取的字符串属性字段],开始位置,截取长度)  
TRIM([[BOTH/LEADING/TRAILING]] char FROM s) 默认去掉字符串两面的空格 字符串函数 JPQHQL HQL TRIM([字符串对象属性列]) 将字段两端的空格去掉
LOWER(s) 小写 字符串函数 JPQHQL HQL LOWER([字符串对象属性列]) 将该列结果含有的字母全部大写
UPPER(s) 大写 字符串函数 JPQHQL HQL UPPER([字符串对象属性列]) 将该列结果含有的字母全部大写 
LENGTH(s) 返回字符串长度 字符串函数 JPQHQL HQL LENGTH(字段名) 返回字段内容的长度,包括数字。null值返回null.
CURRENT_DATE() 返回数据库当前日期 时间函数 JPAQL HQL CURRENT_DATE() 返回数据库当前日期
CURRENT_TIME() 时间 时间函数 JPAQL HQL CURRENT_TIME() 返回数据库当前时间
SECOND(d) 从日期中提取具体秒 时间函数 HQL SECOND(时间字段) 空的时候返回null
MINUTE(d) 从日期中提取具体分 时间函数 HQL MINUTE(时间字段) 空的时候返回null
HOUR(d) 从日期中提取具体小时 时间函数 HQL HOUR(时间字段 空的时候返回null
DAY(d) 从日期中提取具体天 时间函数 HQL DAY(时间字段) 空的时候返回null
MONTH(d) 从日期中提取具体月 时间函数 HQL MONTH(时间字段) 空的时候返回null
YEAR(d) 从日期中提取具体年 时间函数 HQL YEAR(时间字段) 空的时候返回null

分享到:
评论

相关推荐

    Hibernate_query聚合函数查询.

    本篇主要探讨的是Hibernate对数据库查询中聚合函数的应用,这些功能使我们能够高效地处理数据统计和汇总任务。在学习过程中,我们经常会遇到诸如求和(SUM)、平均值(AVG)、最大值(MAX)、最小值(MIN)以及计数...

    Hibernate HQL.txt

    根据提供的文件信息,我们可以深入探讨Hibernate HQL(Hibernate Query Language)的相关知识点,特别是关于其查询功能、连接操作、条件过滤以及聚合函数的应用等。 ### Hibernate HQL简介 Hibernate HQL是一种...

    查询和并发

    本篇将详细探讨"查询和并发"这一主题,结合`hibernate_06_hql`、`hibernate_07_criteria`及`hb_08_concurrencycontrol`这三部分内容,我们将深入理解Hibernate中的HQL查询、Criteria查询以及并发控制策略。...

    HQL连接查询和注解使用总结

    ### HQL连接查询和注解使用总结 ...以上总结了HQL连接查询的不同类型及其语法特点,以及如何在Hibernate中利用注解配置持久化类及其关联关系。这些知识对于理解和使用Hibernate进行高效数据库操作至关重要。

    hibernate 3.2中文手册 中文文档

    ### Hibernate 3.2中文手册知识点汇总 #### 第1章:Hibernate入门 - **1.1 前言** - 介绍了Hibernate的基本概念及其重要性。 - 强调了学习Hibernate对于Java开发人员的重要性。 - **1.2 第一部分—第一个...

    hibernate3.6 文档(pdf 格式)

    - **聚合函数**:说明如何在 HQL 中使用聚合函数进行数据汇总。 - **多态查询**:讨论如何编写可以查询继承结构的 HQL。 - **where 子句**:解释如何在 HQL 中添加筛选条件。 - **表达式**:介绍 HQL 中可用的表达式...

    hibernate4.1中文api

    ### hibernate4.1中文API知识点汇总 #### 1. 教程 ##### 1.1 第一部分 - 第一个Hibernate应用程序 - **设置**: 安装必要的开发环境,包括Java SDK、IDE(如Eclipse或IntelliJ IDEA)、Hibernate库等。 - **第一节...

    Hibernate

    8. ** Criteria Expressions 和 Projections**:Criteria 查询可以利用Expressions(如比较、函数等)和Projections(用于结果集的转换)进行更复杂的筛选和数据汇总。 9. **集合映射**:Hibernate 支持一对一、一...

    Hibernate查询详解

    - `GROUP BY`子句配合统计函数,如`COUNT()`, `SUM()`, `AVG()`, `MAX()`, `MIN()`,用于数据汇总和分析。 ### 连接查询 - **内连接(INNER JOIN)** 只返回两个表中匹配的记录。 - **左外连接(LEFT OUTER JOIN...

    hibernate中文教程

    5. **查询语言(HQL)与Criteria查询**:介绍Hibernate查询语言,包括基本查询、聚合函数、子查询、关联查询等。同时,探讨Criteria API,提供一种更面向对象的查询方式。 6. **Cascading与Lazy Loading**:解释...

    java笔试题面试题汇总.zip

    - **Hibernate**:掌握ORM(对象关系映射)概念,会使用HQL进行数据库操作。 - **Struts**:理解MVC模式,会配置Action和Result,处理表单提交。 以上是Java笔试题和面试题中常见的知识点,熟悉并掌握这些内容将...

    Java_笔记整理

    - **存储过程与函数**:创建与调用存储过程和函数的方法。 12. **设计模式与软件架构** - **设计模式应用**:深入理解设计模式,并将其应用于实际项目中。 - **架构设计**:基于Java的软件架构设计原则与最佳...

    J2EE面试问题汇总

    - Hibernate:对象关系映射(ORM),实体管理,HQL 查询语言。 - Struts:MVC 设计模式,Action 类,配置文件详解。 **四、HTML/CSS/JavaScript** 面试可能涵盖前端开发的基础知识: - HTML 结构、语义化标签、表单...

    面试题java.zip

    Hibernate作为持久化框架,可能问及ORM映射、事务管理、HQL查询等。 最后,"java面试笔试题大汇总.pdf"可能是一个综合性的题库,涵盖了上述所有主题,并可能添加了JVM内存模型、垃圾收集机制、性能优化、数据库连接...

    java知识点汇总学习路线与笔记

    - **HQL**:Hibernate查询语言,类似于SQL。 - **性能优化、一级缓存、二级缓存、查询缓存**:缓存策略对于提高性能至关重要。 - **事务与并发、悲观锁、乐观锁**:事务管理和并发控制机制。 - **openSessionInView*...

Global site tag (gtag.js) - Google Analytics