2015-01-08 28 views
0

我期待选择使用两个条件在LambdaJ选择,我试过使用and()功能,但我不知道如何使用它。上述代码选择使用一个条件。我怎么可以添加另一个条件?多个条件下选择LambdaJ

select(filteredPB,  having(on(Table.class).getId(), IsEqual.equalTo(key))) 
+0

这是不是很清楚你想要做什么。看来你想选择id等于某个键的项目。但是还有其他一些你没有具体提到的条件? – Tony

+0

编辑,是的,我想添加另一个条件,但我不知道如何去做 – geogeek

+1

你可以像这样嵌套:select(select(filteredPB,having(on(Table.class).getId(),IsEqual .equalTo(key))),拥有(Condition2),IsEqual ...)'?选择返回一个迭代,所以它_might_工作。 – Tony

回答

0

您可以使用Matchers.allOf作为ORs和Matchers.anyOf作为ORs。像这样:

select(filteredPB, Matchers.allOf(
    having(on(Table.class).getId(), IsEqual.equalTo(key)), 
    having(on(Table.class).getValue(), IsEqual.equalTo(value)) 
))