- Base donnée démarrée, (MySQL)
- Bean sérialisé avec les Annotations
- Persistence.XML bien configuré !

Avec une Classe JAVA (main() ) j'arrive pas à
dépasser le Pont JPA !

ça bloque en throwant l'exception suivante :


org.apache.openjpa.persistence.ArgumentException




Si qlq un a une idée !!


Ceci est le fichier persistence.XML

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<?xml version="1.0" encoding="UTF-8"?>
<persistence 
version="1.0" xmlns="<a href="http://java.sun.com/xml/ns/persistence" target="_blank">http://java.sun.com/xml/ns/persistence</a>">
<persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
 
<!-- PROVIDER -->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<!-- CLASSES PERSISTENTES -->
<property name="hibernate.archive.autodetection" value ="class, hbm" />
 
<!-- CONNEXION JDBC -->
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test" />
<property name="hibernate.connection.username" value="jpa" />
<property name="hibernate.connection.password" value="jpa" />
 
<!-- CRéATION AUTOMATIQUE DU SCHéMA -->
<property name="hibernate.hbm2ddl.auto" value="create" />
 
<!-- DIALECTE -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
 
<!-- DATASOURCE C3P0 -->
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="20" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
</properties>
 
</persistence-unit>
</persistence>
Le message d'exception est lancé à la ligne 2 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
1.  EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
2.  EntityManager em = emf.createEntityManager();

et voilà le message d'erreur :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
16  WARN   [main] openjpa.Runtime - The property named "openjpa.Id" was not recognized and will be ignored, although the name closely matches a valid property called "openjpa.Id".
63  INFO   [main] openjpa.Runtime - Starting OpenJPA 1.0.1
Exception in thread "main" <openjpa-1.0.1-r420667:592145 fatal user error> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
 at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
 at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:803)
 at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:568)
 at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1221)
 at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:476)
 at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:401)
 at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:102)
 at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:82)
 at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:861)
 at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:852)
 at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:630)
 at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:169)
 at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
 at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
 at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
 at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
merci à l avance