Hola yo tiendo a pensar demasiado en POO, al punto de llegar a ponerme en una situación "Purista".
A mi modo de ver, no veo nada malo e que para estos casos se pueda emplear un pequeño "motor" o generador de expresiones SQL en una clase.
Puede que la idea de
Lepe inspire a metroyd.
Considero que debe rechazarse un análisis desde el punto de vista de la Capa Interfaz y abordar el problema desde el plano lógico (que es donde realmente está el lio).
Saludos,