2016-06-08 3 views
0

모든 쿼리를 찾을 수Ebean ManyToMany 나는 세 개의 테이블이

@Entity 
@Table(name = "users") 
public class User extends Model { 
    @Id 
    public Long id; 

    public String name; 

    public String login; 

    public String password; 

    @ManyToMany 
    @JoinTable(
      name = "user_roles", 
      joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"), 
      inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id") 
    ) 
    public Set<Role> roles; 

    public static Finder<Integer, User> find = new Finder<>(User.class); 
} 

@Entity 
@Table(name = "roles") 
public class Role extends Model { 
    @Id 
    public Long id; 

    public String name; 

    @ManyToMany(mappedBy = "roles") 
    public List<User> users; 

    public static Finder<Integer, Role> find = new Finder<>(Role.class); 
} 

내가 역할, 예를 들어 모든 사용자를 표시하려면 : { "ID를"1 "이름": "내 이름", "로그인": "내 로그인", "비밀번호": "내 비밀번호 ", 역할 : [{"name ":"ADMIN "}, {"name ":"USER "}]} 어떻게하면됩니까? 나는 Ebean과 ORM에서 새로운 사람입니다. 어떤 도움을 주셔서 감사합니다.

업데이트

public Result all() { 
    List<User> users = User.find.all(); 
    return ok(toJson(users)); 
} 

하지만 지금은 점점 유래 오류 무한 재귀.

+0

나는 그것을 [이]에서 답 (http://stackoverflow.com/questions/3325387/infinite-recursion-with-jackson-json-and-hibernate-jpa 해결 -issue) 사용자로부터의 질문 Kurt Bourbaki – Evgeniy

답변

0

users.role = null을 확인하고 반환 JSON

관련 문제