문제

내가 사용하여 플레이 2.0.2 와 ebean.

Info 클래스 I 정의

@ManyToMany(fetch=FetchType.EAGER)
private Set<MemberInfo> members;

private Date createdDate = new Date();

MemberInfomemberId 다.

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, 지 않고,검사 memberIdmembers.

나는 무엇을 잘못했는?감사합니다.

도움이 되었습니까?

해결책

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();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top