根据条件从 Hibernate 中获取 ElementCollecion

Fetching ElementCollecion from Hibernate based on a condition

我有一个名为 User 的 class,它有一个元素集合 groups,如下所示:

public class User {

    @ElementCollection
    @CollectionTable(name = "user_groups", joinColumns = @JoinColumn(name = "id"))
    private Set<String> groups;

    //Other fields
}

现在我需要根据组名获取用户列表。查询是这样的:

@Query("select distinct user from User user " +
        "left join fetch user.groups groups " +
        "where :groupName IN groups")
List<User> findUsersByGroupName(@Param("groupName") String groupName);

这工作正常,但在获取的 User 对象中,我只得到一组(我正在传递)。我需要获取的对象中的所有 User 组。我怎样才能有效地做到这一点?
我曾尝试使用 elementsmember of,但由于我有很多用户,执行查询需要花费很多时间(以分钟计)。

上述查询的问题是 fetch 关键字急切地从数据库中获取数据,因此只有一组在那里。我删除了 fetch 关键字并在获取 User 后初始化了组。这给出了用户的所有组。