2011-12-20 108 views
0

這裏是交易,我有一個用戶和郵政之間一對多的關係添加約束關聯

@Entity 
public class User extends Model { 
... 
    @OneToMany(cascade = CascadeType.ALL, targetEntity = Post.class, mappedBy = "author") 
    @OrderBy("createdAt DESC") 
    public List<Post> posts; 
... 
} 

@Entity 
public class Post extends Model { 
... 
    public int privacy; // 0=public, 1=private 
    @ManyToOne 
    public User author; 
... 
} 

精美的作品......現在我想找回了用戶的公共帖子?當然,迭代結果和刪除私人帖子不是一種選擇,我最終需要做一些分頁,這將是一個頭痛的問題。有沒有一些註釋可以幫助我解決這個問題?

回答

1

是這樣的嗎?

User author = User.findById(1); 
int pageNumber = 1; 
int pageSize = 10; 
Post.find("FROM Post WHERE author = ? AND privacy = 0", author).fetch(pageNumber, pageSize); 
+0

我最終做了這樣的事情,但我想知道是否有更優雅的方式來做到這一點。我習慣了軌道的範圍。但是JPA並不像ActiveRecord那麼靈活 – standup75 2011-12-21 15:34:12