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 JavaTypeDescriptor

Al momento de ejecutar el código me está marcando el siguiente error y no puedo continuar.

Exception in thread "main" org.hibernate.MappingException: Could not determine JavaTypeDescriptor nor SqlTypeDescriptor to use for class com.ibm.icu.math.BigDecimal; table = productos; column = precio
    at org.hibernate.boot.model.process.internal.InferredBasicValueResolver.from(InferredBasicValueResolver.java:143)
    at org.hibernate.mapping.BasicValue.buildResolution(BasicValue.java:391)
    at org.hibernate.mapping.BasicValue.resolve(BasicValue.java:246)
    at org.hibernate.mapping.BasicValue.resolve(BasicValue.java:236)
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.lambda$processValueResolvers$4(InFlightMetadataCollectorImpl.java:1715)
    at java.base/java.util.ArrayList.removeIf(ArrayList.java:1682)
    at java.base/java.util.ArrayList.removeIf(ArrayList.java:1660)
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processValueResolvers(InFlightMetadataCollectorImpl.java:1714)
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1700)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:292)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1215)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1286)
    at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
    at com.latam.alura.tienda.prueba.RegistroDeProducto.main(RegistroDeProducto.java:19)

He buscado en foros de internet y no encuentro el error representado de esta forma. Cabe mencionar que copié y pegué exactamente todo el código como lo tiene el instructor y aún así me marca error.

2 respuestas

¡Hola José!

El error que estás experimentando se debe a que Hibernate no puede determinar el tipo de dato que se está utilizando en la columna "precio" de la tabla "productos".

Una posible solución es agregar la anotación @Column en la definición del atributo "precio" de la entidad Producto, especificando el tipo de dato que se está utilizando. Por ejemplo, si estás utilizando un BigDecimal, podrías agregar la anotación de la siguiente manera:

@Column(columnDefinition = "DECIMAL(10,2)")
private BigDecimal precio;

En este caso, se está especificando que el tipo de dato de la columna "precio" es DECIMAL, con una precisión de 10 dígitos y 2 decimales.

Espero que esta solución te ayude a resolver tu problema. ¡Buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios
solución!

Gracias Génesys! Lo resolví rehaciendo en su totalidad el proyecto, pero sí parece que podría haber sido una mejor solución.