filterMany 놀이를 위해 2 개를 반환하는 모든 결과
-
13-12-2019 - |
문제
내가 사용하여 플레이 2.0.2 와 ebean.
에 Info
클래스 I 정의
@ManyToMany(fetch=FetchType.EAGER)
private Set<MemberInfo> members;
private Date createdDate = new Date();
고 MemberInfo
가 memberId
다.
가
public static Finder<Long,Info> find
= new Finder<Long,Info>(Long.class, Info.class);
find.fetch("members")
.where().filterMany("members").eq("memberId", memberId)
.order().desc("createdDate")
.findList();
그것은 모두 반환합니다 Info
, 지 않고,검사 memberId
의 members
.
나는 무엇을 잘못했는?감사합니다.
해결책
filterMany()
지 않는 필터가 부모에 의한 결과는 어린이의 표현(모두가 별도의'범위').
로 descriped 그 API 그것은 찾기 모든 Info
체 및 필터링 members
됩니다.
거기에는 또한 매우 유사한 항목에 Google 그룹 는 저자의 질문은 그 자신에 대한 해결 방법이다.
검사 사이의 차이:
find.fetch("members")
.where().filterMany("members").eq("memberId", 1L)
.findList();
고
find.fetch("members")
.where().eq("members.memberId", 1L)
.findList();
제휴하지 않습니다 StackOverflow