2015-01-08 3 views
0

LambdaJ select에서 두 가지 조건을 사용하여 선택하려고합니다. and() 함수를 사용하려고했지만 위의 코드는 하나의 조건을 사용하여 선택하는 방법을 알아낼 수 없습니다. 어떻게 다른 조건을 추가 할 수 있을까요?복수 조건 LambdaJ에서 선택 중

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

원하는 작업이 명확하지 않습니다. 일부 키와 동일한 ID를 가진 항목을 선택하려는 것 같습니다. 그런데 특별히 언급하지 않은 다른 조건들도 있습니까? – Tony

+0

편집 됨, 예 다른 조건을 추가하고 싶지만 어떻게 해야할지 모르겠다. – geogeek

+1

다음과 같이 중첩 할 수 있나 :'select (filtered (filtered), (on (Table.class) .getId(), IsEqual .equalTo (key))), (Condition2), IsEqual ...)'? select는 iterable을 리턴하므로 _might_ 작동합니다. – Tony

답변

0

AND는 Matchers.allOf를, OR은 Matchers.anyOf를 사용할 수 있습니다. 좋아요 :

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