I am new to JPA & Hibernate. Dopo aver letto alcuni materiali online ora capisco cosa sia Hibernate e come possa essere usato con JPA.javax.persistence.PersistenceException: nessun provider di persistenza per EntityManager denominato customerManager
Ora, sto cercando di eseguire questo JPA & Hibernate tutorial. Ho fatto tutto ciò che hanno menzionato in questo tutorial.
Non ho Oracle DB, solo MySQL. Così ho fatto alcune modifiche al persistence.xml
usando la mia comprensione di JPA & Hibernate (non so se sia corretto o meno ... a me sembra che sia.)
Ecco il mio 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>
Ma non sembra che ottenga l'output che descrivono. E mi sta 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)
Tutti i suggerimenti saranno apprezzati.
Aggiornamento:
Ho fatto i cambiamenti che si chiede di fare. Ma, ottenendo ancora le righe di errore ASME !!!
Non hanno menzionato nulla su orm.xml in questo tutorial. potrebbe essere un problema causatore !!!
Grazie per la vostra risposta. Ma continua a dare lo stesso messaggio di errore. Eccezione nel thread "main" javax.persistence.PersistenceException: nessun provider di Persistenza per EntityManager denominato customerManager –
Ancora grazie per il tuo aggiornamento. Ho aggiunto log4j.jar nella cartella lib come hanno detto nel tutorial. Qual è il modo per inizializzarlo? –
@MaRaVan È necessario inserire un 'log4j.proprietà' sul classpath. Il tutorial fornisce un esempio. –