I have a Question
object which has List
of Comment
objects with @OneToMany
mapping. The Question
object has a fetchComments(int offset, int pageSize)
method to fetch comments for a given question.
I want to paginate the comments by fetching a limited amount of them at a time.
If I write a Query
object then I can set record offset and maximum records to fetch with Query.setFirstResult(int offset)
and Query.setMaxResults(int numberOfResults)
. But my question is how(if possible) can I achieve the same result without having to write a Query
i.e. with simple annotation or property. More clearly, I need to know if there is something like
@OneToMany(cascade = CascadeType.ALL)
@Paginate(offset = x,maxresult = y)//is this kind of annotation available?
private List<Comment> comments;
I have read that @Basic(fetch = FetchType.LAZY)
only loads the records needed at runtime, but I won't have control to the number of records fetched there.
I'm new to JPA. So please consider if I've missed something really simple.