Diferencia entre revisiones de «Roo: Pasos para crear una aplicación mínima»
(→Ver tambien) |
(→Elegir el framework de persistencia) |
||
Línea 30: | Línea 30: | ||
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY | persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY | ||
+ | |||
+ | NOTA: Por defecto, en persistence.xml el valor de la propiedad hibernate.hbm2ddl.auto es create (genera el esquema de datos con cada ejecucion). Deberá actualizarse esta propiedad al valor deseado. | ||
=== Creación del modelo de dominio === | === Creación del modelo de dominio === |
Revisión del 15:33 15 jul 2010
Contenido
Creación del proyecto
project --topLevelPackage com.dosideas.helloroo
Elegir el framework de persistencia
Se puede elegir entre 3 frameworks y 8 bases de datos
Frameworks:
- ECLIPSELINK
- HIBERNATE
- OPENJPA
Bases de datos:
- DB2
- H2_IN_MEMORY
- HYPERSONIC_IN_MEMORY
- HYPERSONIC_PERSISTENT
- MSSQL
- MYSQL
- ORACLE
- POSTGRES
- SYBASE
Ej.:
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
NOTA: Por defecto, en persistence.xml el valor de la propiedad hibernate.hbm2ddl.auto es create (genera el esquema de datos con cada ejecucion). Deberá actualizarse esta propiedad al valor deseado.
Creación del modelo de dominio
Junto con la creación de la clase se puede elegir de crear los tests de componentes correspondientes.
entity --class ~.domain.Client --testAutomatically
Este comando genera la clase Client.java con las siguientes anotacioes, basado en la programación orientada a aspectos (AspectJ):
@RooJavaBean: genera un aspecto para que le agrega a la entidad, en tiempo de compilacion, sus getters/setters y el constructor por defecto
@RooToString: genera un aspecto para render en pantalla y formateo de calendario
@RooEntity: genera un aspecto para agregar la lógica de persistencia: count, findAll, findById, findEntries, persist, remove, flush y merge
Por cada campo a agregar a la clase es necesario definir el tipo, el nombre y las restricciones que pueda tener.
field string --fieldName name --notNull --sizeMax 24 --sizeMin 3 field string --fieldName surname --notNull --sizeMin 3 --sizeMax 24 field date --fieldName birthDate --type java.util.Date --notNull field boolean --fieldName active field number --fieldName numberOfKids --type java.lang.Integer --notNull --max 99
Expresiones regulares
Existe un bug reportado que impide el uso de expresiones regulares, si bien teoricamente son soportadas por Roo.
Interfaz gráfica
Roo permite la creación de la interfaz gráfica web, que comprende de una alta, baja, modificación y listado. Se puede especificar de que objeto de negocio se requiere o bien crearla para todos.
controller all --package ~.web