Hola, Cuando ejecuto el programa me aparece esta excepcion, como la puedo solucionar?
Exception in thread "main" java.lang.ExceptionInInitializerError at com.latam.alura.tienda.prueba.RegistroDeProducto.registrarProducto(RegistroDeProducto.java:32) at com.latam.alura.tienda.prueba.RegistroDeProducto.main(RegistroDeProducto.java:16) Caused by: javax.persistence.PersistenceException: [PersistenceUnit: tienda] Unable to build Hibernate SessionFactory at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1597) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1503) 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.utils.JPAUtils.(JPAUtils.java:9) ... 2 more Caused by: org.hibernate.MappingException: Could not determine type for: com.latam.alura.tienda.modelo.Cliente, at table: pedidos, for columns: [org.hibernate.mapping.Column(cliente)] at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:515) at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:482) at org.hibernate.mapping.Property.isValid(Property.java:231) at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:627) at org.hibernate.mapping.RootClass.validate(RootClass.java:267) at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:359) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:314) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ... 6 more
**Este es mi codigo del registro de producto**
package com.latam.alura.tienda.prueba;
import java.math.BigDecimal;
import javax.persistence.EntityManager;
import com.latam.alura.tienda.dao.CategoriaDao; import com.latam.alura.tienda.dao.ProductoDao; import com.latam.alura.tienda.modelo.Categoria; import com.latam.alura.tienda.modelo.Producto; import com.latam.alura.tienda.utils.JPAUtils;
public class RegistroDeProducto {
public static void main(String[] args) {
registrarProducto();
EntityManager em = JPAUtils.getEntityManager();
ProductoDao productoDao = new ProductoDao(em);
Producto producto = productoDao.consultaPorId(1l);
System.out.println(producto.getNombre());
BigDecimal precio = productoDao.consultarPrecioPorNombreDeProducto("Xiaomi Redmi");
System.out.println(precio);
}
private static void registrarProducto() {
Categoria celulares = new Categoria("CELULARES");
Producto celular = new Producto("Xiaomi Redmi", "Muy bueno", new BigDecimal("800"), celulares);
EntityManager em = JPAUtils.getEntityManager();
ProductoDao productoDao = new ProductoDao(em);
CategoriaDao categoriaDao = new CategoriaDao(em);
em.getTransaction().begin();
categoriaDao.guardar(celulares);
productoDao.guardar(celular);
em.getTransaction().commit();
em.close();
}
}