Escenario Lo habré hecho centenares de veces. Desarrollo en local, pruebas y despliegue en remoto. Según el entorno en el que esté corriendo la aplicación, ésta podrá requerir una configuración distinta. Por ejemplo en un entorno de desarrollo querremos tener el caché deshabilitado o el nivel de los registros más bajo que en uno de…
Etiqueta: spring-boot
Changelog: de MD a HTML
Escenario Me gusta que las aplicaciones Spring Boot en las que trabajo consten de un fichero de tipo markdown con el histórico de cambios por los que ha pasado el código. Dado que el número de versión aumenta cada vez que publico un cambio en el entorno de producción, gracias a un formato de este…
Spring boot y websockets
Escenario Un usuario se conecta con el móvil a su aplicación de empresa. Si es la primera vez que lo hace ésta le pide autorización para recabar su localización. La aplicación manda la localización al servidor y desde el servidor se informa a una página de monitorización. Dicha página está conectada por websocket con el…
Hibernate no puede resolver la propiedad…
Escenario En una aplicación Spring Boot v2.3.4 hay dos entidades Balance y Shop. Una tienda (shop) puede tener varios saldos y un saldo (Balance) ha de estar relacionado con una tienda. Además existen panaderías (Bakery) y sastrerías (TailorShop) que extienden la clase Shop:
1 2 3 4 5 6 7 8 9 |
@Entity public class Balance { @ManyToOne @JoinColumn(name = "shop_id") private Shop shop; ... } |
1 2 3 4 5 6 7 8 |
@Entity abstract public class Shop { @OneToMany(mappedBy = "shop") private Set<Balance> balances; ... } |
1 2 3 4 5 6 |
@Entity public class Bakery extends Shop { ... } |
1 2 3 4 5 6 |
@Entity public class TailorShop extends Shop { ... } |
Y necesito saber cuál es la fecha del…
Cómo NO hacer iteraciones anidadas en thymeleaf 3
Escenario Me han pedido que integre en una nueva aplicación una funcionalidad de otra ya existente. No es la primera vez que me ha tocado hacerlo. Suele ser un trabajo tedioso basado en continuos copia y pega y frecuentes refactorizaciones. Una de la vistas que debo importar en la nueva aplicación muestra una tabla con…
Orden de carga bloque JavaScript en Thymeleaf
Escenario Tengo una aplicación desarrollada con la plataforma Spring Boot que usa para producir las páginas HTML el motor de plantillas Thymeleaf. Problema Un bloque de JavaScript incrustado en una de las páginas genera un error porque una de sus variables no es reconocida por el intérprete. Por lo que veo, la biblioteca de programación…
Tablas con nombre reservado en entidades en Spring Boot
Escenario Tenemos una aplicación corriendo sobre Spring Boot que usa Hibernate como ORM. Una de las tablas se llama Group, se utiliza para almacenar los distintos grupos a los que puede pertenecer un usuario. Problema La entidad de java que representa la tabla de grupos tiene esta pinta:
1 2 3 4 5 6 7 8 9 10 |
@Entity public class Group { private String name; private String description;; // Setters y Getters omitidos. } |
Sabía que group es una palabra…
Despliegue aplicación Spring Boot
Escenario Queremos desplegar en la nube una aplicación desarrollada con Spring Boot cuyo código está bajo control de versiones. Para este artículo usaremos ubuntu 16.04 y java 8, pero el procedimiento debería ser el mismo con versiones más actuales. Problema Ninguno. Realmente es sencillo desplegar una aplicación de este tipo si se dispone de las…
Traducción de variables en javascript
Escenario Estoy trabajando en una aplicación multi-lenguaje desarrollada con la plataforma spring boot. Para quien no conozca esta plataforma de desarrollo, spring boot te permite gestionar varios lenguajes gracias a un sistema que utiliza ficheros de tipo propiedades para almacenar las traducciones. Los nombres de estos ficheros han de respetar la siguiente convención, messages_{código ISO…