QueryDSL以获取另一个实体集合中的任何实体 [英] QueryDSL to get any entities in a collection of another entity

查看:512
本文介绍了QueryDSL以获取另一个实体集合中的任何实体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将JPA与Hibernate和QueryDSL(v.4.0.5)一起使用.我有这个实体:

I'm using JPA with Hibernate and QueryDSL (v.4.0.5). I have this entity:

package com.test.model.entity;

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

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

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

How can I find all the articles matching a given set of Tags? I think I should start as follows:

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

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

where ce should be a CollectionExpression. Clearly I have no idea how to set this.

有解决方案吗?

推荐答案

您尝试过

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

这篇关于QueryDSL以获取另一个实体集合中的任何实体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆