Postgres错误:运算符不存在:文本~~ bigint

时间:2020-03-24 17:53:10

标签: sql postgresql hibernate casting

我有以下代码段可创建查询:

predicate.add(criteriaBuilder.like(map.get("value"), variable.get("value")));

variable.get("value")返回一个String,而map.get("value")返回一个Expression<String>

生成的查询如下所示:

where variables.VARIABLE_VALUE like $2

数据库日志显示以下错误(字符1570与上面的类似表达式相对应):

错误:运算符不存在:字符1570处的文本~~ bigint

提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。

VARIABLE_VALUE在数据库中的类型为text,给定的参数$2应该是String 而不是BIGINT

我不知道为什么将variable.get("value")的输出转换为BIGINT而不是String

设置:

数据库:Postgres 12.2

休眠方言:PostgreSQL94Dialect

驱动程序postgresql-42.2.11.jar

Hibernate版本:hibernate-jpa-2.1-api

0 个答案:

没有答案
相关问题