アレイ内QueryDSLの大文字小文字を区別しないフィルタ

フィリップStaudt:

次のJavaクラスを考えてみます。

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私は簡単でフィルタしたいので、そのために大文字小文字を区別しないタグ名を。

/**
 * 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);

   ...
}

現在、私は達成大文字と小文字が区別フィルタリング次のコード行では:

QDoc qDoc = QDoc.doc;
BooleanBuilder where = new BooleanBuilder();
where.and(qDoc.tags.contains("Tag name to filter for"));

どのように大文字小文字を区別しないフィルタリングがために行われていますかListPath<String, StringPath>

ベスト、

フィリップ

arifng:

あなたは、を介してケースの小文字を区別しないデータを確認することができany()、次のようにする方法:

QDoc qDoc = QDoc.doc;
BooleanBuilder where = new BooleanBuilder();
where.and(qDoc.tags.any().equalsIgnoreCase("Tag name to filter for"));

わたしにはできる。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=332145&siteId=1