hibernate - 如何在 HQL Hibernate 中将列的大小写更改为 Upper

标签 hibernate hql

我想在使用 like 和过滤 HQL 中的关键字之前将表中的列更改为大写?

这是我的查询

SELECT abc
FROM ABC abc
WHERE abc.id = ?
And upper(abc.description) like '%?%'

谢谢

最佳答案

HQL 支持 upper()SELECT 中的 EJB 3.0 规范定义的函数和 WHERE条款。从文档:

14.10. Expressions

  • ...
  • Any function or operator defined by EJB-QL 3.0: substring(), trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()
  • ...


所以以下应该工作:
from DomesticCat cat where upper(cat.name) like 'FRI%'

引用
  • Hibernate 核心引用指南
  • 14.10. Expressions
  • JPA 1.0 规范
  • 第 4.6.16.1 节“字符串函数”
  • 关于hibernate - 如何在 HQL Hibernate 中将列的大小写更改为 Upper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940558/

    相关文章:

    java - 如何在循环时将一个列表添加到另一个列表?

    java - Hibernate 异常 - 无法找到命名参数 [:laboratoryId]

    java.lang.NumberFormatException : For input string: "pname"

    java - 获取数据并更新与 hibernate 中的 saveOrUpdate

    java - Hibernate Criteria SubQuery 大小写不敏感问题

    java - 带一个自增的Spring JPA复合PK

    spring - 如何在线程中访问 hibernate session ?

    java - 如何使用表单 :select outside the form? spring、hibernate 中的项目

    hadoop - 将配置单元分区映射到某个位置

    java - 如何将日期时间存储在本地时间中,以便可以通过 hibernate 明确检索?