¿Como debo obtener el Detalle - Maestro con SprignJDBC?

Que tal comunidad, tengo una duda y quisiera saber si alguno de ud conoce una mejor solución a lo que estoy haciendo. Sucede que tengo relacionadas dos tablas de uno a muchos y quiero obtener los datos que se relacionan entre tablas, sin que tenga que hacer un clase nueva o aumentar los atributos de alguna de las dos.

Esta es mi estructura de las clases:

public class Empleado {
        private String numEmpleado;
        //mas atributos por aca
        private String numEmpresa;
        //getters and setters
}

public class Empresa {
        private Integer numEmpresa;
        private String razonSocial;
        //mas atributos por aca
        //getters and setters
}

Lo que hago actualmente es esto:
1.- Obtengo una lista de Empleados según los filtros del controller
2.- Recorro la lista de empleados y busco el objeto Empresa.
3.- Agrego atributos a la clase Empleado, que requiero de la empresa.
4.- Modifico los atributos con los valores del objeto empresa encontrado.
5.- Regreso la lista de Empleados modificada

Lo hago así por que:
Estoy trabajando con el display tag library y la manera mas sencilla que conozco de recorrer una lista y mostrarla en forma de tabla es así:
<display:table  name="listaEmpleados" class="its" id="row"  requestURI="detalle.htm" >
y cada columan debe ser el atributo del objeto
<display:column property="numEmpleado" title="No. Empleado"/>

Mi pregunta es: ¿Como puedo obtener el detalle de la tabla empresa?, Algo mas o menos así:

    <display:column title="Empresa">
        <c:out value="${row.empresa.razonSocial}"/>  
    </display:column>

Bueno espero sus respuestas, gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

modificar

Forzosamente tienes que modificar la clase Empleado para que puedas hacer row.empresa.razonSocial porque row es un Empleado y no tiene referencia a la empresa (solamente el numero de la misma). De modo que necesitas agregar una propiedad empresa a la clase Empleado.

Si lo que quieres es obtener todos los datos en un solo query usando Spring, pues si tienes un SpringJdbcTemplate puedes crear tu propio RowMapper y hacer un query de JOIN:

SELECT e.numEmpleado, e.numEmpresa, c.razonSocial FROM Empleado e JOIN Empresa c ON e.numEmpresa=c.numEmpresa

El RowMapper debe ser algo así:

public class EmpleadoJoinMapper implements RowMapper<Empleado> {

  public Empleado mapRow(ResultSet rs, int row) throws SQLException {
    Empleado e = new Empleado();
    e.setNumEmpleado(rs.getInt(1));
    e.setNumEmpresa(rs.getInt(2));
    Empresa c = new Empresa();
    c.setNumEmpresa(rs.getInt(2));
    c.setRazonSocial(rs.getString(3));
    e.setEmpresa(c);
    return e;
  }
}

El único detalle es que si varios empleados están en la misma empresa, vas a tener varias instancias repetidas de esa empresa. Si quieres unificar eso para que todos los empleados de la misma empresa realmente apunten a la misma instancia de Empresa, tienes que guardar las empresas que has creado en el RowMapper para que solamente las hagas una vez y las reuses (ponlas en un mapa usando su numEmpresa como llave).

Imagen de AlexSnake

Exacto

Si de hecho tenia duda como hacer ese RowMaper puesto que hago consultas separadas. Y pues bueno finalmente tendre que modificar la clase Empleado, para poder mostrar los datos en el display tag. gracias Enrrique.