Este codelab está planeado para ver la forma en que se pueden agregar entidades a un proyecto creado con JHipster.

En este ejemplo, crearemos dos entidades:

Subbrand tendrá una relación con brand de muchos a uno.

Para poder iniciar este codelab requerimos:

Para poder iniciar, debemos estar dentro del directorio principal del proyecto JHipster y agregaremos la entidad brand.

jhipster entity brand

Nos preguntará si queremos agregar un atributo, a lo que contestaremos la opción default Y.

img01

Después de responder que si, nos preguntará el nombre del atributo. Nosotros contestaremos name.

img02

Después nos preguntará el tipo de atributo, en este caso, nosotros seleccionaremos string.

img03

Después nos preguntará si deseamos agregar reglas de validación, y ponderemos Y. Y con la barra espaciadora habilitaremos las siguientes: Required, Minimum legth y Maximum legth.

img04

Ahora nos preguntará el mínimo que requiere el atributo, nosotros pondremos 3.

img05

Ahora nos preguntará el máximo que se requiere y pondremos 100.

img06

Por último nos mostrará un resumen y nos preguntará si requerimos agregar otro atributo, a lo que contestaremos que no

img07

Ahora nos preguntará si esta entidad tiene relaciones con otra entidad, a lo que responderemos que no.

img08

Ahora nos preguntará que si se deben generar las capas de servicios, a lo que seleccionaremos Yes, generate a separate service interface and implementation

img09

Ahora nos preguntará si se deben generar los DTOs, a lo que responderemos que Yes, generate a DTO with MapStruct.

img10

Ahora nos preguntará si se desea el filtrado dinámico, a lo que responderemos que Not needed

img11

Ahora nos preguntará si la entidad es de sólo lectura, a lo que responderemos que no.

img12

Ahora nos peguntará si se requiere el paginado, a lo que pondremos la opción Yes, with pagination links and sorting headers.

img13

Después de la última pregunta empezará a crear la entidad, pero nos preguntará si deseamos sobreescribir los archivos de liquibase, a lo que responderemos con una a (de all)

img14

Una vez generado, podremos observar que en el proyecto se generaron varios archivos, entre otros:

El total de los archivos y modificaciones, la pueden ver ejecutando el comando git status.

Y si ejecutamos el proyecto, podremos ver que, en el menú de entidades, se tiene el submenú de Brand y dentro del mismo, podremos acceder al "administrador" de la entidad Brand

img15

Si intentamos agregar un nuevo elemento a la tabla, observaremos que la validación se realiza como la definimos al momento de crear la entidad.

img16

jhipster entity subBrand

Contestaremos las mismas preguntas para agregar el atributo name y contestaremos que no vamos a agregar más atributos.

img18

Cuando nos pregunte si queremos agregar relaciones a otras entidades responderemos Y.

img18

Cuando nos pregunte el nombre de la entidad, pondremos brand y en el nombre de la relación dejaremos el nombre default (que es el nombre de la entidad)

img18

En el tipo de relación, contestaremos many-to-one

img19

En el campo que se mostrará en el cliente, escribiremos el campo name

img20

Nos preguntará si requerimos las validaciones y contestaremos Y y en el tipo de validaciones seleccionamos con la barra espacioadora la única disponible que es required

img21

Nos mostrará un resumen y nos preguntará si requerimos agregar más relaciones, a lo que contestaremos que no

img22

El resto de las preguntas las contestaremos como lo hicimos en la entidad brand.

img23

De nuevo podemos probar la aplicación (con el comando ./mvnw) y verificar que en la entidad nueva, se tienen objetos de tipo brand.

img24

Intenta generar una entidad nueva que tenga como relación a subbrand y tenga todos los tipos soportados por el generador, adicionalmente, agrega varios tipos de validación.