JPA QL和HQL支持的函数. 不区分大小写
√通过 ⊙测试没结果,但没出错 ×未通过
方法 说明 类型 支持 测试结果HQL 使用方法
ABS(n) 取绝对值 数学函数 JPA QL HQL √ ABS(column_name[数字类型对象属性])
SQRT(n) 取平方根 数学函数 JPA QL HQL √ SQRT(column_name[数字类型对象属性])
MOD(x,y) 取余数 数学函数 JPA QL HQL √ MOD([对象属性(数字)或值],[对象属性(数字)或值]) 数字必须是整型。返回参数1/参数2得的余数。
SIZE(c) 方法集合内对象数量 集合函数 JPA QL HQL
MINELEMENT(c) 返回集合中最小元素 集合函数 HQL
MAXELEMENT(c) 返回集合中最大元素 集合函数 HQL
MININDEX(c) 返回索引集合最小索引 集合函数 HQL
MAXINDEX(c) 返回索引集合最大索引 集合函数 HQL
CONCAT(s1,s2) 连接连个字符串 字符串函数 JPA QL HQL √ CONCAT([对象属性],[对象属性]) 相当与“||”
SUBSTRING(s,offset,length) 返回部分字符串 字符串函数 JPA QL HQL √ SUBSTRING([要截取的字符串属性字段],开始位置,截取长度)
TRIM([[ BOTH | LEADING 去掉字符串中的某个给定的字符.
| TRAILING]] char FROM s) 默认去掉字符串两面的空格. 字符串函数 JPA QL HQL √ 默认用法,TRIM([字符串对象属性列]) 将字段两端的空格去掉。
LOWER(s) 小写 字符串函数 JPA QL HQL √ LOWER([字符串对象属性列]) 将该列结果含有的字母全部大写
UPPER(s) 大写 字符串函数 JPA QL HQL √ UPPER([字符串对象属性列]) 将该列结果含有的字母全部大写
LENGTH(s) 返回字符串长度 字符串函数 JPA QL HQL √ LENGTH(字段名) 返回字段内容的长度,包括数字。null值返回null.
CURRENT_DATE() 返回数据库当前日期 时间函数 JPA QL HQL √ CURRENT_DATE() 返回数据库当前日期
CURRENT_TIME() 时间 时间函数 √ CURRENT_TIME() 返回数据库当前时间
CURRENT_ 时间戳
TIMESTAMP()
SECOND(d) 从日期中提取具体参数分别为: 时间函数 HQL √ SECOND(时间字段) 空的时候返回null
MINUTE(d) 秒,分,小时,天,月,年 √ 同上
HOUR(d) √ 同上
DAY(d) √ 同上
MONTH(d) √ 同上
YEAR(d) √ 同上
CAST(t as type) 强制类型转换 转换函数 HQL √ CAST([字段或值] as [要转换的类型-int,string...])
max()
min()
count()
相关推荐
JPA--HQL查询(手动写原生查询sql,复杂查询必备) JPA(Java Persistence API)是一种JavaEE标准,用于持久化数据,HQL(Hibernate Query Language)是 Hibernate 框架提供的一种查询语言,它允许开发者使用面向...
汇集了hql语句中大部分常用的函数 ABS(n) 取绝对值数学函数 数学函数 JPAQL HQL ABS(column_name[数字类型对象属性])
### HQL常用函数详解 HQL(Hibernate Query Language)是一种面向对象的...以上介绍了HQL中一些常用的函数及其用法,这些函数可以帮助开发者更高效地处理数据查询和操作任务。希望本文能帮助您更好地理解和使用HQL。
对于分页查询,由于JPQL不直接支持,开发者通常需要结合原生SQL和ROWNUM或分析函数来实现。例如,Oracle数据库中,可以利用ROWID或者分析函数ROW_NUMBER()进行分页。 2. 原生SQL分页策略 - ROWID分页:根据数据行...
该方法支持通过参数化的方式执行查询,即可以向HQL语句中添加单个参数值。这对于简单的条件查询非常有用。 **示例代码**: ```java List<User> userList = this.getHibernateTemplate().find("from bean.User u ...
- **查询语言JPA QL的扩展**:包括集合函数、子查询、构造函数表达式等。 - **Criteria API的增强**:提供了更强大的动态查询构建能力,无需硬编码SQL语句。 2. **JPA2映射**: - **基本类型映射**:如`@Basic`...
本示例"springboot同时整合JPA和mybatis的demo"旨在演示如何在一个项目中同时使用Spring Boot与两种ORM(对象关系映射)框架:JPA(Java Persistence API)和MyBatis。这为我们提供了更大的灵活性,可以根据不同的...
8. **多态性(Polymorphism)**: JPA支持继承和多态性,使得你可以定义一个基类,然后多个子类继承它并有自己的数据库表。 在"apache-openjpa-1.2.0-source"这个压缩包中,包含了Apache OpenJPA项目的源代码。Open...
HQL支持复杂的查询结构,如联接、子查询和聚合函数。它与EJBQL相似,但在功能和灵活性上有所不同,HQL更紧密地集成于Hibernate框架内。 **Hibernate** Hibernate是一个流行的开源ORM框架,它为Java应用提供了一种...
Hibernate JPA因其灵活性和广泛社区支持而受到欢迎,尤其是在处理复杂业务逻辑和非标准SQL需求时。 **3. OpenJPA** OpenJPA是由Apache软件基金会开发的开源JPA实现。它是一个轻量级、高性能的解决方案,设计目标是...
这种广泛的采纳使得JPA成为了一个重要的行业标准,为开发者提供了丰富的资源和支持。 综上所述,JPA作为一种标准化的ORM解决方案,为开发者提供了一套统一的方法来处理数据库交互。而Hibernate作为JPA的一种强大...
Spring Data JPA 提供了内置的支持,可以在查询方法中通过 `Pageable` 参数实现分页和排序。 5. **Auditing**:Spring Data JPA 提供了审计功能,可以自动记录实体的创建时间和修改时间。这可以通过 `@CreatedDate`...
6. JPQL查询语法和HQL(Hibernate Query Language)的区别与使用场景。 7. JPA的事务管理,包括自动和手动事务模式。 8. 性能优化技巧,如批处理、懒加载和缓存策略。 总之,JPA是Java开发中处理数据库的强大工具,...
2. **更丰富的查询功能**:除了JPQL,Hibernate还支持HQL(Hibernate Query Language),以及CGLIB和Bytecode Enhancer等工具进行更复杂的查询。 3. **强大的映射功能**:Hibernate支持更多的映射类型,如集合映射...
JPA 2.0引入了许多增强功能,比如支持@OneToMany和@ManyToMany关系的双向映射,新增了@Temporal注解以处理日期和时间,增强了Criteria API,引入了@SecondaryTable注解以支持多表映射,还引入了Entity Graph来优化...
JPA注解和Hibernate建表 一、JPA概述 Java Persistence API(JPA)是Sun官方提出的Java持久化规范,它只是一个规范不是一个产品。JPA的主要目标是提供一种简洁、易用的方式来访问、操作和管理Java应用程序中的数据...
JPA是Java EE和Java SE应用程序进行持久化处理的核心框架,极大地简化了数据库操作。 **JPA核心概念** 1. **实体(Entity)**: 实体是JPA中的核心概念,代表数据库表中的记录。它们是Java类,通常使用`@Entity`...
HQL(Hibernate Query Language)是Hibernate框架提供的一种查询语言,它支持面向对象的语法结构,并且能够很好地与Java对象模型进行映射。通过HQL,开发者可以更加灵活地操作数据库中的数据,而无需直接编写SQL语句...
5. **查询语言JPA QL**:掌握JPA的查询语言,编写HQL(Hibernate Query Language)和JPQL(Java Persistence Query Language)查询,理解它们与原生SQL的区别。 6. **CRUD操作**:学习如何使用JPA进行增删改查操作...