{quote} Maybe it's a good idea not to mix these objects with our domain, and let them be a specialized construction to deal with a specialized problem (searches). {quote} Well yes, if you do pay attention and do not mix DAOs on the domain itself I think I can agree with such solution. You could abstract the DAOs and provide a search interface or api that would allow to use DAOs indirectly.