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

mat*_*boy 4 java hibernate jpa querydsl

我在 Hibernate 和 QueryDSL (v.4.0.5) 中使用 JPA。我有这个实体:

package com.test.model.entity;

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

    @ManyToMany(fetch = LAZY, cascade = DETACH)
    private Set<Tag> tags;
}
Run Code Online (Sandbox Code Playgroud)

如何找到与给定的一组Tags匹配的所有文章?我想我应该从以下开始:

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

哪里ce应该是CollectionExpression. 显然我不知道如何设置它。

有什么解决办法吗?

Tim*_*per 5

你试过了吗

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