CriteriaBuilder - 倒置 LIKE

Posted

技术标签:

【中文标题】CriteriaBuilder - 倒置 LIKE【英文标题】:CriteriaBuilder - inverted LIKE 【发布时间】:2014-08-30 17:21:25 【问题描述】:

使用CriteriaBuilder,我想构建一个LIKE-Predicate,对应如下SQL:

 SELECT e.* FROM entity e WHERE 'aStringValue' LIKE e.aProperty || '%'

(Oracle SQL - ||-Operator 进行连接)

换句话说,我必须搜索包含字段 aProperty 的表 e,其中存储了不同 varchar 值的简短形式,以获取特定值 aStringValue

如何使用 CriteriaBuilder 实现这一目标?

【问题讨论】:

【参考方案1】:

未经测试,但这应该可以满足您的要求:

cb.like(cb.literal("aStringValue"), 
        cb.concat(myEntity.get(MyEntity_.aProperty), "%"));

【讨论】:

以上是关于CriteriaBuilder - 倒置 LIKE的主要内容,如果未能解决你的问题,请参考以下文章

Java解 | #HJ31单词倒排#倒置字符串# I like beijing # beijing like I #

使用 CriteriaBuilder 的 JPA 计数(*)。如何使用 CriteriaBuilder 检索 count(*) 列

如何通过两个字段加入(CriteriaBuilder)

Hibernate若干知识点

如何使 CriteriaBuilder 加入自定义“开启”条件?

集合的 CriteriaBuilder 和 CriteriaQuery 之间的区别