我正在使用 CriteriaBuilder.concat
来连接两个字符串,使用以下代码:
Expression<String> concat = criteriaBuilder.concat(expr1, expr2)
但是生成的SQL语句类似于:
select distinct col_1 || col_2
这会导致org.hibernate.hql.ast.QuerySyntaxException
的发生:
expecting CLOSE, found '||' near line 1, column 48 [
select count(distinct generatedAlias0.hostname || generatedAlias0.device) from ...
^(1,48)
我想知道如何强制生成以下使用concat()
函数而不是||
运算符的SQL语句?
select distinct concat(col_1, col_2)
更新:
从错误信息中可以看出,问题主要在于Hibernate (v3.6.10.Final
)方面,因此让MySQL接受||
进行连接并没有帮助。对我来说,升级到新版本也不是一个选项。
谢谢。