Hoy me preguntaban si Spring Roo al generar la Capa de Presentación era capaz de crear UIs estilo Maestro-Detalle…vamos a verlo…
Para esto vamos a usar estas Entidades:
Veis que un Empleado tiene una referencia 0…1 a Proyecto (proyectoActual) y otra 0…* (listaProyectos).
Comencemos ya!
0) Arranco consola Roo:
1) Creo proyecto
>project –topLevelPackage es.luismi.roo.asignacionpersonas –projectName AsignacionPersonas
2) Configuro la persistencia, para el ejemplo HYPERSONIC en memoria:
>persistence setup –provider HIBERNATE –database HYPERSONIC_PERSISTENT
3) Creo la Entidad Proyecto y sus atributos:
>entity –class ~.domain.Proyecto –testAutomatically
>field string nombre –notNull –sizeMin=8 –sizeMax=8
>field date fechaInicio –type java.util.Date –notNull
>field date fechaFin –type java.util.Date
>field string descripcion –sizeMax=255
>entity –class ~.domain.Empleado –testAutomatically
>field string nombre –notNull–sizeMin=8 –sizeMax=50
>field string apellidos –notNull–sizeMin=8 –sizeMax=50
>field number codigoEmpleado –type java.lang.Integer
>field number codigoEmpleado –type java.lang.Integer –min=10000
4) Creo las referencias entre Persona y Proyecto:
>field reference –fieldName proyectoActual –type ~.domain.Proyecto –class ~.domain.Empleado
>field set –class ~.domain.Empleado –fieldName listaProyectos –element ~.domain.Proyecto
5) Creo los controladores:
>controller all –package ~.web
6) (Desde fuera de la consola) Lanzo Jetty
>mvn jetty:run
7) Ejecuto en un navegador:
http://localhost:8080/AsignacionPersonas/
8) Creo varios Proyectos
9) Creo un Empleado, le asigno proyecto actual y lista de proyectos en los que ha participado:
A priori se podría echar en falta poder editar un Proyecto al editar un Empleado:
Aunque es muy sencillo modificar esta JSP para añadir un link y poder así editar el Proyecto…lo veremos en un próximo Post, que hoy se me está haciendo tarde 🙂








Deja un comentario