首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阵列中的QueryDSL不敏感滤波器

阵列中的QueryDSL不敏感滤波器
EN

Stack Overflow用户
提问于 2019-09-18 22:43:04
回答 1查看 2.5K关注 0票数 3

考虑以下Java类:

代码语言:javascript
复制
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

import java.util.List;

@Document(collection = "Doc")
public class Doc {

    @Id
    private String id;

    private List<String> tags;
}

我为它生成了一个查询类型QDoc,因为我想通过筛选不区分大小写的标记名。

代码语言:javascript
复制
/**
 * QDoc is a Querydsl query type for Doc
 */
@Generated("com.querydsl.codegen.EntitySerializer")
public class QDoc extends EntityPathBase<Doc> {

    private static final long serialVersionUID = 602371596L;

    private static final PathInits INITS = PathInits.DIRECT2;

    public static final QDoc doc = new QDoc("doc");

    public final StringPath id = createString("id");

    public final ListPath<String, StringPath> tags = this.<String, StringPath>createList("tags", String.class, StringPath.class, PathInits.DIRECT2);

   ...
}

目前,我使用以下代码行完成区分大小写的筛选

代码语言:javascript
复制
QDoc qDoc = QDoc.doc;
BooleanBuilder where = new BooleanBuilder();
where.and(qDoc.tags.contains("Tag name to filter for"));

如何对ListPath<String, StringPath>进行不区分大小写的过滤?

最好的

菲利普

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-19 18:37:40

您可以通过any()方法检查不区分大小写的数据,如下所示:

代码语言:javascript
复制
QDoc qDoc = QDoc.doc;
BooleanBuilder where = new BooleanBuilder();
where.and(qDoc.tags.any().equalsIgnoreCase("Tag name to filter for"));

对我来说很管用。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58001604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档