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_HQL大全
对hibernate的hql进行了详尽的讲解
java数据库架构hibernate 专用语句hql的相关代码与试验
一个关于Hibernate-HQL 的文档 内容实际而且实用
聚集函数使用(聚合函数)(count、sum、avg、max、min等) // 8.TOP N查询(返回n条记录) // 9.命名查询 ———————————————— 原文链接:...
我培训时用的 Hibernate 课件, 个人能力范围内精心整理,图文并茂.希望能对大家学习 Hibernate 提供帮助. 这是第三篇. 内容如下:HQL 查询;Query 接口及其主要方法;Select 子句;更新与删除;引用查询;联合查询;子查询;...
hibernate源码中的hql语句代码,添加,删除,修改,查询;hibernate源码中的hql语句代码,添加,删除,修改,查询
weblogic12 下最新 org.hibernate.hql.ast.HqlToken解决办法
Hibernate基础知识,已实例的方式展现了hibernate的精髓,让我们从云里雾里的概念中脱离出来,从实战所需的角度来分析hibernate。
hibernate-HQL语句大全
示例讲述HQL的基本用法,比较全面,简单实用,希望对你有点用
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
hibernate+hql+大全,整理了常用的hql语句实例,能够更好的掌握hql语句的写法。
T21.8_HQL java 经典教程 经典教材
NHibernate hql 可用函数,函数大全
Hibernate hql查询语法总结 Hibernate hql查询语法总结
Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码
HQL查询(hibernate_hql) 34 补充:SQL join连接 40 缓存 44 一级缓存 44 快取 45 hibernate二级缓存 47 Hibernate Gossip: 二级快取(Second-level) 48 hibernate查询缓存 50 hibernate抓取策略 53 Hibernate最佳...
NULL 博文链接:https://jadeluo.iteye.com/blog/1213549
Hibernate_Query_Language基础认识,主要是使用了一些HQL的特性,用idea搭建,适合小白上手