Soy nuevo en JPA & Hibernate. Después de leer algunos materiales en línea, ahora entiendo qué es Hibernate y cómo se puede usar con JPA.javax.persistence.PersistenceException: No proveedor de persistencia para EntityManager llamado customerManager
Ahora, intento ejecutar este JPA & Hibernate tutorial. He hecho todo lo que mencionan en este tutorial.
No tengo Oracle DB, solo MySQL. Así que hice algunos cambios para persistence.xml
usando mi comprensión de la APP & Hibernate (no sé si es correcto o no ... me parece que es.)
Aquí está mi persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
<persistence-unit name="customerManager" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>Customer</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="1234"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/general"/>
<property name="hibernate.max_fetch_depth" value="3"/>
</properties>
</persistence-unit>
</persistence>
Pero no parece obtener el resultado que describen. Me está dando:
Customer id before creation:null
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named customerManager
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33)
at CustomerDAO.create(CustomerDAO.java:8)
at CustomerDAO.main(CustomerDAO.java:22)
Cualquier sugerencia será apreciada.
Actualización:
he hecho los cambios que se hacen a hacer. ¡Pero aún obteniendo las líneas de error de asme!
No mencionaron nada sobre orm.xml en ese tutorial. ¡¡Puede ser un causante de problemas !!!
Gracias por su responder. Pero sigue dando el mismo mensaje de error. Excepción en el hilo "main" javax.persistence.PersistenceException: No hay proveedor de Persistence para EntityManager llamado customerManager –
Nuevamente, gracias por su actualización. Agregué ese log4j.jar en la carpeta lib como lo dijeron en el tutorial. ¿Cuál es la forma de inicializarlo? –
@MaRaVan Necesita poner un 'log4j.propiedades' en el classpath. El tutorial proporciona un ejemplo. –