如何使用QueryDSL包含?

时间:2018-01-02 16:22:34

标签: java querydsl

我想知道如何使用contains。我有一个查询

krystof.business.QNote note = krystof.business.QNote.note1;

        BooleanBuilder builder = new BooleanBuilder();

        for (Label savedLabel : existingLabels) {
            builder.and(note.labels.contains(savedLabel));

        }

注意:

class Note{
List<Label> labels;
}

标签

class Label{ 
String label;

@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Label)) return false;

        Label label1 = (Label) o;

        return getLabel() != null ? getLabel().equals(label1.getLabel()) : label1.getLabel() == null;
    } }

现有查询有效,它是一个谓词,用于检查标签列表中是否有“savedLabel”。 现在我想创建一个查询,检查一个注释是否在其列表中有这样的Label,即Label.label.contains(someSubString)。 QueryDSL方法contains采用参数Label子项或表达式子项,但我不知道如何构造这样的表达式。 感谢。

0 个答案:

没有答案