在嵌套在另一个集合中的条件下过滤集合

时间:2013-05-17 14:23:00

标签: lambdaj

拥有这个bean结构

class User {
    private List<Permission> permissions;
    ...
}

class Permission {
    private Detail detail;
    ...
}

class Detail {
    private String name;
    ...
}

如何使用包含字符串“abc”的Permission.Detail.name过滤仅包含至少一个权限的用户的用户列表?

1 个答案:

答案 0 :(得分:1)

好的,我找到了

select(
        values,
        having(
                on(User.class).gePpermissions(), 
                hasItem(
                        having(
                                on(Permission.class).getDetail().getName(), 
                                containsString("abc")
                        )
                )
        )
);