2012-05-05 57 views
0

我有一個Post類,就像下面這樣,它和用戶(可以看到這個帖子的人)有一對多的關係,並且它也有同樣的關係(一對一-many)與組,現在我想通過基於用戶和組的JPA查詢來獲取所有帖子,應該如何爲此編寫JPA查詢?如何根據JPA中的兩個關係來查詢結果? (有點加入三張表)

/* 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; 
} 

所以我想寫查詢,以便我能得到其中的用戶是{}用戶或組爲{}組

回答