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

Смежные вопросы