在两列之间使用 Like 的 CriteriaBuilder 查询

CriteriaBuilder query with Like between two columns

我正在尝试使用 CriteriaBuilder 创建查询,我需要使用 like 比较两列。

(仅显示代码的相关部分)

查询是这样构建的:builder.like(column1, column2); 其中 column1column2 都是 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,因为我使用的是列名而不是设置值。

builder.like(column1, builder.concat("%",builder.concat(column2,"%"));