PDA

View Full Version : [Persistenza] Problemi connessione Mysql/Java (netbeans)


soldout
01-12-2014, 12:47
Ciao a tutti

Sto provando a collegare una classe Java con un db creato su mysql administrator.


Piccolo DB , unica tabella "Persona"

Nel mio progetto , creo una nuova Entity class form database

seleziono il mio db, aggiungo la mia tabella , testo la connessione e fin qui tutto ok.

Quando creo
EntityManagerFactory factory = Persistence.createEntityManagerFactory("NomeUnitaPersistenza");
EntityManager database = factory.createEntityManager();

e eseguo genera il seguente errore:
Exception Description: Configuration error. Class [com.mysql.jdbc.Driver] not found.



Non ho il giusto connettore vero? Ho provato a scaricarne diversi ma è sempre la stessa cosa... vi prego aiutatemi:mad: :mad:

soldout
01-12-2014, 19:03
Ragazzi nessuno mi può aiutare?
Ho davvero bisogno del vostro aiuto , datemi una mano non riesco a risolvere.

Posto il codice intero (classe semplicissima serve solo per imparare a collegare un db Mysql tramite la persistenza)




package uno;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import java.sql.*;

public class Uno {
EntityManagerFactory factory;
EntityManager database;

public Uno(){
factory = Persistence.createEntityManagerFactory("UnoPU");
database = factory.createEntityManager();
}
public static void main(String[] args) {
Persona p;
p = new Persona(012);
Uno u=new Uno();

System.out.println(" prova ");
}

}



Questo invece è il codice di errore:

[EL Info]: 2014-12-01 20:05:29.317--ServerSession(1574503358)--EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd
[EL Severe]: ejb: 2014-12-01 20:05:29.33--ServerSession(1574503358)--Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error. Class [com.mysql.jdbc.Driver] not found.
Exception in thread "main" javax.persistence.PersistenceException: Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error. Class [com.mysql.jdbc.Driver] not found.
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:766)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:304)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:336)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:302)
at uno.Uno.<init>(Uno.java:20)
at uno.Uno.main(Uno.java:30)
Caused by: Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error. Class [com.mysql.jdbc.Driver] not found.
at org.eclipse.persistence.exceptions.DatabaseException.configurationErrorClassNotFound(DatabaseException.java:89)
at org.eclipse.persistence.sessions.DefaultConnector.loadDriverClass(DefaultConnector.java:267)
at org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:85)
at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.setOrDetectDatasource(DatabaseSessionImpl.java:204)
at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:741)
at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:239)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:685)
... 6 more
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second

sottovento
01-12-2014, 19:46
Sembrerebbe che il drive MySql non sia stato registrato.
1 - ce l'hai nel CLASSPATH?
2 - l'hai registrato? (forName(....))

La registrazione non dovrebbe piu' essere obbligatoria da java 7 in su, ma non ci giurerei.

EDIT - rileggendo il titolo del tuo post, sembrerebbe che utilizzi NetBeans mentre il call stack contiene un certo eclipse... che succede?
Stai portando il progetto da eclipse a netbeans?

soldout
02-12-2014, 08:49
Sottovento:
EDIT - rileggendo il titolo del tuo post, sembrerebbe che utilizzi NetBeans mentre il call stack contiene un certo eclipse... che succede?
Stai portando il progetto da eclipse a netbeans?


No no quella classe non fà assolutamente nulla e non proviene da Eclipse , il suo unico scopo è capire come "connettere"questo benedetto db a java con la persistenza .

Le stringhe contenenti EclipseLink fanno riferimento alla libreria di persistenza EclipseLink(JPA 2.1)


doveva essere cosi banale e mi sta dando cosi tanti problemi... ora provo a modificare il classpath e poi ti faccio sapere

soldout
03-12-2014, 15:08
Ragazzi nulla da fare !!
Qualcuno può mandarmi il link da dove diamine scaricare il jar che consente la connessione tra Mysql e Java

sottovento
03-12-2014, 15:39
Ragazzi nulla da fare !!
Qualcuno può mandarmi il link da dove diamine scaricare il jar che consente la connessione tra Mysql e Java

http://dev.mysql.com/downloads/connector/j/

Se hai un esempio (magari compilabile) del problema, prova a postarlo

soldout
03-12-2014, 16:32
Risolto ... in pratica quando creiamo una "Entity class from database" selezioniamo il driver da utilizzare per connettersi al db, ma questo non basta bisogna aggiungere anche la libreria MySQL JDBC driver....


per una caz...ata del genere ho perso 4 giorni.... non un esempio concreto trovato in rete ... spero possa essere utile ad altri