Lets say I have a domain model with a class called Blog that has a property called BlogEntries (that contains objects of type BlogEntry). If I have a database model with two tables "Blog" and "BlogEntry", it's not impossible that I have 1000 blog entries for a blog. If I were to show the blog on a web site, I would only want to display maybe 20 blog entries at a time, so I would have to use some sort of paging. I obviously don't want 1000 records to be fetched from the DB all the time.

How would I go about doing that? Should the BlogEntries property even be in the Blog domain object, or perhaps in the respository? I would still like to have the possibility to add blog entries as well as geting a paged result of existing ones. What would the NHibernate mapping look like?

The Blog/BlogEntry thing is just an example, it could just as well have been a Customer/Order example or any other master/detail scenario.