【发布时间】:2018-07-30 20:58:44
【问题描述】:
我正在尝试使用 CriteriaBuilder 创建一个查询,我需要使用 like 比较两列。
(仅显示代码的相关部分)
查询是这样构建的:builder.like(column1, column2); 其中column1 和column2 都是Expression 类型。
我的问题是我找不到将通配符添加到查询中的方法。这是生成的查询:
where saldodocum.NU_DOCUMENTO_ORIGINAL like substring(saldodocum.NU_DOCUMENTO, 5, 3)
而我需要的是:
where saldodocum.NU_DOCUMENTO_ORIGINAL like '%' + substring(saldodocum.NU_DOCUMENTO, 5, 3) + '%'
有没有办法使用 CriteriaBuilder 来实现这一点?我无法将% 添加到column2,因为我使用的是列名而不是设置值。
【问题讨论】:
-
你能展示你传递给 column2 的内容吗?
标签: java jpa criteria-api