Oh, please tell my you're using the Ganng of Four's (GOF's) Data Access Object (DAO)
pattern. You are right?
I always like to implement finder methods in an abstract DAO class, that implements a GenericDAO interface, which provides a way to limit the resultset. As you can see, I'm a big fan of the Hibernate Criteria API:
Implementing DAO subclasses can then decide how to page through the results for the client. At the very least, subclasses can implement zero-arg findAll methods that will stop a resultset that is so large that it will destroy the hibernate cache and bring down the database.
I discuss the DAO pattern, and how to implement an elegant DAO implementation with Hibernate and JPA annotations on my site.
You should check it out:
Simple Data Access Objects with Hibernate & JPA Advanced DAOs with Java 5 Generics