gpt4 book ai didi

java - JPA/Criteria 类似百分比字符

转载 作者:行者123 更新时间:2023-11-29 18:07:18 25 4
gpt4 key购买 nike

我正在尝试构建动态查询(具有类似条件)。当我在 mysql 中尝试使用原始 sql 时,效果非常好。这是一个例子:

select * from dbiwant.want_activity m where m.want like "%bike%"

然后,我尝试使用 CriteriaBuilder,但无法在 Java 中获得相同的结果。只是空结果。这是我的代码:

Specifications specifications = Specifications.where(specificationService.isLike("want", search));


public Specification<WantActivity> isLike(String param, String search) {
return new Specification<WantActivity>() {
public javax.persistence.criteria.Predicate toPredicate(Root<WantActivity> root, CriteriaQuery<?> query,
CriteriaBuilder builder) {
return builder.like(root.get(param) ,"%" + search + "%");
}
};
}

有什么问题吗?

最佳答案

试试这个:

public Specification<WantActivity> isLike(String param, String search) {
return new Specification<WantActivity>() {
public javax.persistence.criteria.Predicate toPredicate(Root<WantActivity> root, CriteriaQuery<?> query,
CriteriaBuilder builder) {

final Predicate like = query.where(builder.like(root.<String> get(param), search)).getRestriction();
return like;
}
};

关于java - JPA/Criteria 类似百分比字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47725490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com