Closed acuevas-dgtic closed 3 years ago
S'ha afegit un component projectebase-service per la capa indicada a #80, i dins el package es.caib.projectebase.service.model
s'inclouen els DTO que es fan servir tant a la capa web com a la capa REST.
Dins la capa EJB es realitza la conversió entity
<-> dto
emprant l'eina MapStruct.
Coses a comentar:
Al final he optat per duplicar les anotacions de validació. Les que estan als entity
garanteixen la validesa del que s'envia a BDD, mentre que les que estan als dto
serveixen de cara a la capa de presentació.
Definir modelo propio para capa de servicio, independiente del modelo mapeado en JPA (actualmente en módulo persistence). El modelo mapeado en JPA sería mejor que quedase interno en la capa de negocio, sin visibilidad en la capa web. Este enfoque tiene como desventaja tener que trasladar datos entre modelo JPA y modelo de negocio, pero queda la capa de negocio mucho mejor definida y evita los problemas de navegación entre objetos JPA (errores inicialización lazy) . Hay librerías que facilitan esta traslado de datos (p. ej.: mapstruct)