Java Hibernate-CriteriaBuilder集合是否包含筛选器集合的任何元素

Java Hibernate-CriteriaBuilder集合是否包含筛选器集合的任何元素,java,hibernate,Java,Hibernate,我的实体中有以下字段: @ElementCollection(targetClass = UserType.class) @CollectionTable(name = "user_type", joinColumns = @JoinColumn(name = "user_id")) @Column(name = "ttype", nullable = false) @Enumerated(EnumType.STRING) public Set&l

我的实体中有以下字段:

    @ElementCollection(targetClass = UserType.class)
    @CollectionTable(name = "user_type", joinColumns = @JoinColumn(name = "user_id"))
    @Column(name = "ttype", nullable = false)
    @Enumerated(EnumType.STRING)    
    public Set<UserType> getUserTypes() {
        return userTypes;
    }

    public void setUserTypes(Set<UserType> userTypes) {
        this.userTypes = userTypes;
    }
但这显然不起作用。CriteriaBuilder似乎提供了基本的比较函数,如
equals
ge
,等等。但对于此检查,没有任何内容


如何通过CriteriaBuilder进行此类查询?

这是否回答了您的问题?很遗憾,没有。我需要检查数据库中的集合是否包含筛选器集合中的任何属性。
因此我需要获取属于筛选器中提供的任何类型的用户。这正是
子句中的
的目的。您传入一个可接受值的列表,只有这些值才会从数据库中返回。也有助于发布您的整个code@XtremeBaumer:我想知道
isMember
是否起作用,但找不到如何使用它的好例子。但是筛选器可以包含多种类型,而不仅仅是一种类型。
queryRoot.get("userTypes").in(filterTypes)