Play Framework 2의 문제가 여기 있습니다. 두 개의 클래스가 있습니다Ebean Play 프레임 워크 2 many-to-many 연관로드
@Entity
public class User extends Domain {
@Id
public Long id;
public String name;
public String surname;
public String phoneNumber;
@Lob
public String comment;
@ManyToMany
public Set<Band> groups = new HashSet();
}
@Entity
public class Band extends Domain {
@Id
public Long id;
public String name;
@Lob
public String comment;
@ManyToMany(mappedBy="groups")
public Set<User> users = new HashSet();
}
그리고 User.groups 접근의 문제는. 다음
System.out.println(user.groups);
수익을 수행 :
BeanSet 정확히 this 문제처럼
을 연기. 그래서 문제는 그것이로드되도록하기 위해서 무엇인가해야합니까?
그러나이 코드를 실행하면 모든 것이 예상대로 이루어집니다.
Band.find.all();
System.out.println(user.groups);
이러한 동작의 이유는 무엇입니까?
P. 도메인 클래스는 정적 메서드가 거의없는 모델 상속자입니다.
보다 더 낫다
나는 이것이 원인인지 잘 모르겠지만, 그것과 관련이있을 수 있습니다. EBean은 ManyToMany 관계를 다르게 처리합니다 ... 다른 차이점과 함께 계단식 유형을 명시 적으로 설정해야합니다 (모든 것을 기억하지 않고 사용 중지하고 최대 절전 모드로 전환했습니다). 시도 할 수있는 한 가지는 사용자에서 매핑을 지정하는 것입니다. 그 괴상한 밴드에서 작동하지만 ... 또한 캐스케이드 유형을 설정하려고합니다. –
BTW : Whye는 모델 클래스가'Model' 대신'Domain'을 확장합니까? – biesior
@MarcusbiesiorBiesioroff, Domain은 내 자신의 제네릭 CRUD 컨트롤러를 다루기위한 몇 가지 일을 유지하기 위해 Model의 계승자입니다. 질문을 조금 편집하겠습니다. –