2011-12-20 107 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