hibernate - CriteriaBuilder - 倒置的 LIKE

标签 hibernate criteria-api

使用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/

相关文章:

java - 自加入条件查询

java - 如何将 Hibernate 结果对象转换为字符串?

java - 将时间对象持久化为实体而不是值类型?

java - 为什么 Hibernate 中的生命周期监听器是可序列化的?

java - 使用 jpa 条件创建动态查询

hibernate - 检索 JPA 中通用实体的主键列定义

java - jsf hibernate 标准 api

java - 使用 JPA 1.0 的 CriteriaQuery

java - 在 Hibernate 3 中使用存储过程

java - Hibernate - 从另一个表中选择具有 id 的实体?