使用CriteriaBuilder,我想构建一个LIKE-Predicate,它对应于以下SQL:
SELECT e.* FROM entity e WHERE 'aStringValue' LIKE e.aProperty || '%'
(Oracle SQL - ||
-运算符进行串联)
换句话说,我必须搜索包含字段aProperty
的表e
,其中存储了不同varchar值的简短形式,以获取特定值 aStringValue
.
如何使用 CriteriaBuilder 来实现这一目标?
最佳答案
未经测试,但这应该可以满足您的要求:
cb.like(cb.literal("aStringValue"),
cb.concat(myEntity.get(MyEntity_.aProperty), "%"));
关于hibernate - CriteriaBuilder - 倒置的 LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657819/