2012-05-05 18 views
0

私は以下のようなポストクラスを持っていて、それはUsers(このポストを見ることができる人)と1対多の関係を持ち、同じ種類の関係-many)をグループ化して、今度はユーザーとグループに基づくJPAクエリによってすべての投稿を取得したいのですが、JPAクエリをどのように書くべきでしょうか?JPAの2つの関係に基づいて結果を得るためのクエリの作成方法は? (ちょっと3つのテーブルを結合する)

/* Post */ 
public class Post extends Model { 

    private String title; 
    private String text; 

    @OneToMany 
    @JoinTable(
     name="tbl_post_users", 
     inverseJoinColumns={@JoinColumn(name="userId")}, 
     joinColumns={@JoinColumn(name="postId")} 
    ) 
    public List<User> users; 

    @OneToMany 
    @JoinTable(
     name="tbl_post_groups", 
     inverseJoinColumns={@JoinColumn(name="groupId")}, 
     joinColumns={@JoinColumn(name="postId")} 
    ) 
    public List<Group> groups; 

    public static List<Post> GetPosts(){ 
     // JPA Query here 
    } 
} 

/* User */ 
public class User extends Model { 

    @Id 
    private int id; 
    private String name; 
    private String email; 
} 

/* Group */ 
public class Group extends Model { 

    @Id 
    private int id; 
    private String title; 
    private int ownerId; 
} 

だから私は、私は、ユーザーが{}ユーザーまたはグループで、すべての記事の一覧を取得することができるようにクエリを書きたいが{グループ}

答えて

関連する問題