QueryDSL 获取另一个实体集合中的任何实体

QueryDSL to get any entities in a collection of another entity

我将 JPA 与 Hibernate 和 QueryDSL (v.4.0.5) 结合使用。我有这个实体:

package com.test.model.entity;

@Entity
public class Article {
    @Id
    private Long id;

    @ManyToMany(fetch = LAZY, cascade = DETACH)
    private Set<Tag> tags;
}

如何找到与给定 Tag 组匹配的所有文章? 我想我应该这样开始:

public BooleanExpression hasTag(Set<Tag> tags){
    final QArticle article = QArticle.article;
    return article.tags.any().eqAny(ce);
}

其中 ce 应该是 CollectionExpression。 显然我不知道如何设置它。

有什么解决办法吗?

你尝试了吗

public BooleanExpression hasTag(Set<Tag> tags){
    QArticle article = QArticle.article;
    return article.tags.any().in(tags);
}