Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

[Duda] Error en la categoria

Buen dia, tengo un problema, al insertar en la base de datos los datos relacionados a la serie "Vikings" la aplicacion no tiene nungun problema para guardar el registro. Sin embargo cuando trato de hacer lo mismo con un Anime "Dr Stone" o "Sword Art Online" me sale un error en consola con la siguiente leyenda:

Caused by: org.postgresql.util.PSQLException: ERROR: el nuevo registro para la relación «series» viola la restricción «check» «series_genero_check»
 Detail: La fila que falla contiene (17, Yûsuke Kobayashi, Manami Numakura, Gen Satô, 8.1, ANIMATION, https://m.media-amazon.com/images/M/MV5BYmU2MzEyMjAtOTQ5Yy00NGMx..., Awakened into a world where humanity has been petrified, scienti, 
 Dr. Stone, 3).

Creí que el error residía en mi código en el archivo "Serie.java" cuando se realiza un Split para solo obtener la primera categoria. Sin embargo mi codigo parece estar bien...

this.genero = Categoria.fromString(datosSerie.genero().split(",")[0].trim());

Adjunto el enlace al repositorio de mi proyecto por si gustan echarle un vistazo.

2 respuestas

¡Hola Luis, espero que estés bien!

Entiendo que estás experimentando un problema al intentar guardar datos relacionados con animes en tu base de datos utilizando Spring Data JPA. El error que estás viendo parece estar relacionado con la restricción de categoría en la tabla de series.

Después de revisar tu código en el archivo "Serie.java", parece que estás intentando obtener la primera categoría de la serie utilizando el método split y luego convirtiéndola en un enum con Categoria.fromString. Sin embargo, es posible que el error esté relacionado con la forma en que estás manejando las categorías de los animes.

Una posible solución sería revisar la forma en que estás almacenando y manejando las categorías de los animes en tu base de datos. Es probable que el problema esté en la forma en que se están asignando las categorías a las series de anime en comparación con las series de televisión.

Además, te recomendaría revisar la definición de la restricción "series_genero_check" en tu base de datos para asegurarte de que esté configurada correctamente para manejar las categorías de los animes.

Por último, sería útil revisar el repositorio de tu proyecto para entender mejor cómo estás manejando las categorías y si hay alguna diferencia en el tratamiento de las series de televisión y los animes.

Espero que estas sugerencias te ayuden a resolver el problema. Si necesitas más ayuda, no dudes en preguntar.

¡Espero haber ayudado y buenos estudios!

solución!

Muchas gracias. Ya lo resolví. En efecto, fue mi error, ya que cuando creé la clase 'Series', no existía la categoría de 'Animación', por lo cual al ejecutar el programa por primera vez sin dicha categoría, se generó el error mencionado anteriormente. Lo solucioné borrando la tabla y agregando a mi clase 'Series' la categoría de 'Animación'. De esta manera, la base de datos permitió almacenar el registro. Aunque estoy seguro de que utilizar la herramienta de SQL Query para modificar los constraints habría sido una mejor opción.