Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Para el backend hemos creado una librería, pero da problemas para parametrizar el nombre del . Tenemos que añadir la siguiente librería al pom.xml:

Bloque de código
languagexml
		<!-- Session FDWJS -->
		<dependency>
			<groupId>es.um.atica.fundewebjs.fundewebjs-api</groupId>
			<artifactId>fundewebjs-session</artifactId>
			<version>${fdwjs.version}</version>
		</dependency>

El problema que comentamos es que la entidad que se utiliza en dicha librería no incluye especificado el esquema, solo el nombre de la tabla (SESSION_STORAGE). Si tenemos dicha tabla en nuestra base de datos, podemos probar a iniciar la aplicación.

Si da error porque no se puede mapear la entidad, probaremos a especificar el esquema en el que se encuentra la tabla de sesiones, por lo que de momento la solución es incluir las clases directamente en el proyecto. Por lo tanto, los añadiendo la siguiente propiedad al application.properties (sustituyendo MIESQUEMA por el tuyo, claro):

Bloque de código
languagejava
spring.jpa.properties.hibernate.default_schema=MIESQUEMA

Y probaremos de nuevo. Con esto debería funcionar sin problema.

Si aún así diese problemas, tendríamos que añadir las clases de la librería directamente a nuestro proyecto. Podemos ver cómo hacerlo en el siguiente desplegable:

Expandir
titleIncluir clases de librería de sesiones en nuestro proyecto

Los pasos a seguir serán:

  1. Descargamos las clases y las añadimos al proyecto: es.um.atica.fundewebjs.session.rar. Vienen directamente con la estructura de carpetas para que se encuentren en el paquete es.um.atica.fundewebjs, y debemos incluirlo así en nuestro proyecto.

  2. Como estarán en el paquete es.um.atica.fundewebjs, debemos tener esa ruta en la anotación @SpringBootApplication de la clase inicial de nuestro proyecto (es.um.atica.---- será el paquete por defecto de nuestro proyecto):

    Bloque de código
    languagejava
    @SpringBootApplication( scanBasePackages = {
    		"es.um.atica.----", "es.um.atica.fundewebjs",
    } )


  3. Añadir a la entidad SessionStorage.java el esquema en la anotación @Table, así:

    Bloque de código
    languagejava
    @Table( schema = "MIESQUEMA", name = "SESSION_STORAGE" )


Uso

Una vez hecho esto ya podremos usarla, sólo tendremos que utilizar la clase sessionService, incluyéndola con @Autowired:

...