JPA JPQL:查询集合属性中是否包含某特定实体

某个实体:

@Entity
@Table(name="document")
public class Document {
    ...
    @ManyToMany
    public Set<User> accessors;
    ....
}

查询所有的包含某个特定user的Documents的方法

1、 用join

select distinct d from Document d inner join d.accessors a where a.id = :id

2、MEMBER OF 关键字

SELECT d FROM Document AS d WHERE :user MEMBER OF d.accessors

这种方法比第一种简单些,但是只能传入user实体,而不是user id.

from:JPA JPQL: select items when attribute of item (list/set) contains another item

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容