Hibernate中HQL函数

转载 2015年07月08日 15:07:21

Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此HibernateHQL查询方式立为官方推荐的标准查询方式,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

Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Language)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将H...
  • sdmxdzb
  • sdmxdzb
  • 2015年03月28日 09:32
  • 277

Hibernate_HQL函数汇总及其说明

via: http://blog.csdn.net/chenhuade85/article/details/7572148   Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维...
  • mikyz
  • mikyz
  • 2017年04月06日 17:49
  • 293

Hibernate中HQL函数汇总及其说明

Hibernate中HQL函数汇总及其说明 (2012-07-06 20:37:16) 转载▼ 标签: it 分类:技术 Criteria查询对查询条件进行了面向对象封装,符合编...

【Hibernate步步为营】--hql查询过滤器及相关聚合函数查询详解

上篇文章讨论了hql查询中的连接查询,它的查询语法在功能上和sql的连接查询是相同的,内连接查询取得的是关系之间的笛卡尔积,外连接查询是获取一个关系表及与另一个关系表的合集部分,具体的使用方法见上篇文...

Hibernate的学习之路三十二(HQL的聚合函数查询)

前言 今天继续学习了HQL的聚合函数,特别需要注意的是,之前在HQL写查询的时候不允许有 * ,现在聚合函数里可以有 * 。 还有一个number的对象,好像数字都可以接收,小数和整数都可以,是父...

Hibernate中HQL函数汇总

在数据访问层(DAO层)通常我们会使用sql语句或者hql语句,而在我们使用hql语句拼接时有时会报错, 通常的原因是:我们使用了标准的sql语句,开启的确是hibernate的面向对象的语句  ...

hibernate中HQL调用自定义函数 .

在编写hql语句是,如果使用自定义的函数,hql在编译时无发编译通过,这是我们需要重新编写下dialect方言类,这里我的是oracle是10,可以根据自己的oracle版本继承不同的oracle方言...

怎样在hibernate的HQL语句中使用mysql 的自定义函数?

问题:怎样在hibernate中使用mysql的函数? 1.hibernate支持原生态的sql语句查询,使用session.createSQLQuery()创建查询对象; 2.怎样在hq...
  • null_cy
  • null_cy
  • 2016年11月24日 11:32
  • 417

Hibernate_查询_HQL详解(二)_聚集函数、分组、连接查询、查询时使用参数的HQL语法

1,聚集函数 2,分组 3,连接查询 / HQL是面向对象的查询 数据库中查询: select e.id_, e.name_, d.name_ from employee e inner...

Hibernate之HQL查询

  • 2017年10月21日 14:48
  • 14.47MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate中HQL函数
举报原因:
原因补充:

(最多只允许输入30个字)