Hallo
Ich möchte eine JAVA SE Anwendung mit JPA und einer HSQLDB kombinieren.
Ich habe eine persistence.xml Datei im META-INF Verzeichnus.
eine Klasse PersistenzVerwaltung
Wenn ich nun ein Objekt der Klasse PersistenzVerwalung erzeuge und die die Methode createFachdienst ausführe kommt folgender Fehler.
Die hsql.jar ist im BuidPath intigriert. Irgendeine Idee?
P.S.: Die Fehlermeldung ist noch viel grösser aber ich habe mal nur die ersten Zeilen genommen, damit der Beitrag keine sechs Seiten einnimmt.
Ich möchte eine JAVA SE Anwendung mit JPA und einer HSQLDB kombinieren.
Ich habe eine persistence.xml Datei im META-INF Verzeichnus.
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<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="test">
<description>Eine Testunit um zu sehen ob es funktioniert</description>
<properties>
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
<property name="hibernate.connection.url" value="jdbc:hsqldb:file:C:/Test" />
<property name="hibernate.connection.username" value="sa" />
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence>
eine Klasse PersistenzVerwaltung
Code:
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import de.drk.krefeld.models.Fachdienst;
public class PersistenzVerwaltung {
EntityManagerFactory emf;
public PersistenzVerwaltung() {
emf = Persistence.createEntityManagerFactory("test");
System.out.println(Persistence.PERSISTENCE_PROVIDER);
}
public Fachdienst createFachdienst(String bezeichnung) throws Exception {
try {
Fachdienst neuerfachdienst = null;
neuerfachdienst = new Fachdienst(bezeichnung);
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
em.persist(neuerfachdienst);
tx.commit();
em.close();
return neuerfachdienst;
} catch (Exception e) {
e.printStackTrace();
throw new Exception();
}
}
}
Wenn ich nun ein Objekt der Klasse PersistenzVerwalung erzeuge und die die Methode createFachdienst ausführe kommt folgender Fehler.
Code:
Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b04-fcs (04/11/2008))): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben
Error Code: 0
at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:305)
at oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultConnector.java:102)
at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:184)
at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:582)
at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:280)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:229)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:93)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:126)
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:120)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:91)
at de.drk.krefeld.bean.PersistenzVerwaltung.createFachdienst(PersistenzVerwaltung.java:23)
at de.drk.krefeld.control.Main.actionPerformed(Main.java:232)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
Die hsql.jar ist im BuidPath intigriert. Irgendeine Idee?
P.S.: Die Fehlermeldung ist noch viel grösser aber ich habe mal nur die ersten Zeilen genommen, damit der Beitrag keine sechs Seiten einnimmt.