Tendrías que usar reflection, que te permite conocer la estructura de una clase, y modificar campos o llamar métodos de objetos de esta.
Partiendo de la premisa de que le eches un ojo a la reflection (
http://www.oracle.com/technetwork/articles/java/javareflection-1536171.html), tendrías que ver los campos del bean al que le quieras asignar los datos del SQL, y compararlos con los nombres de las columnas del SQL (también puedes usar anotaciones si los nombres no coinciden).
Cuando encuentras el campo en cuestión, tendrías que asegurarte de que los tipos son correctos (VARCHAR -> String, INT -> int/Integer)...
Lo cierto es que hacer estod e forma genérica no es difícil, pero requiere tiempo y conocimiento de Reflection.
No es algo que deberías hacer para un proyecto pequeño. Tú considerarás si lo ves <necesario> (Ten en cuenta que lo que haces actualmente, llamando a cada uno de los setters, no es algo raro ni algo malo. Es la forma de hacerlo, simplemente.