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

如何在HQL Hibernate中将列的大小写更改为大写,hibernate,hql,Hibernate,Hql,在使用like和过滤HQL中的关键字之前,我想将表中的列更改为大写 这是我的问题 SELECT abc FROM ABC abc WHERE abc.id = ? And upper(abc.description) like '%?%' 感谢HQL支持由ejb3.0规范在SELECT和WHERE子句中定义的upper()函数。从文件中: EJB-QL 3.0定义的任何函数或运算符:substring(),trim(), lower(),upper(),length(),locate(),

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

这是我的问题

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

感谢HQL支持由ejb3.0规范在
SELECT
WHERE
子句中定义的
upper()
函数。从文件中:

  • EJB-QL 3.0定义的任何函数或运算符:
    substring()
    trim()
    lower()
    upper()
    length()
    locate()
    abs()
    sqrt()
    位长度()
    mod()
因此,以下措施应该有效:

from DomesticCat cat where upper(cat.name) like 'FRI%'
工具书类
  • Hibernate核心参考指南
  • JPA1.0规范
    • 第4.6.16.1节“字符串函数”

我正在用HQL编写一个示例查询:

session.createQuery(from Certificate where lower(assignedTo)=:userName)
    .setString("userName",username);
假设:存在一个名为
Certificate
的表,其字段
已分配给
session
是Hibernate会话。

我必须记住“ilike”是允许的!谢谢你的回答!