我有一个具有属性角色的User域类:
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(
name = "user_role",
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
private Set<Role> roles;
我正在尝试创建JPA Specification对象,以过滤具有给定角色的用户(假设您可以选择要显示的角色)。问题是CriteriaBuilder不提供像相交之类的东西来将所选角色与用户角色相交。 是否有可能以某种方式遍历所有角色,使用表达式“ in / memberOf”一个接一个地创建谓词,将它们放入集合中并在最后组合它们?还是你会怎么做?