Ich versuche, Hibernate 4.3 mit meiner MySQL-Datenbank arbeiten zu lassen. Ich bin bereits in der Lage, das Tool zur Generierung des Hibernate-Codes in Eclipse zu verwenden, und ich kann auch mithilfe des Hibernate Configurations-Tools eine Verbindung zur Datenbank herstellen.Hibernate 4 javax/transaction/SystemException Fehler
aber wenn ich versuche, Code in meiner Hauptklasse auszuführen, die die Datenbank abfragt ich die folgende Fehlermeldung erhalten:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/transaction/SystemException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2248)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2214)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:184)
at be.comp.permanenties.HibernateUtil.<clinit>(HibernateUtil.java:15)
at be.comp.dao.balie.ZitdagenDAOMySQL.findByMaCode(ZitdagenDAOMySQL.java:31)
at be.comp.permanenties.Main.main(Main.java:19)
Caused by: java.lang.ClassNotFoundException: javax.transaction.SystemException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more
Der Code in meiner HibernateUtil.java Datei ist:
import org.apache.commons.lang3.SystemUtils;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
public class HibernateUtil {
private static final SessionFactory sessionFactoryBalie = new Configuration().configure("mysql_balie.cfg.xml").buildSessionFactory();
public static SessionFactory getSessionFactoryBalie() {
return sessionFactoryBalie;
}
}
Die mysq_balie.cfg.xml Datei wie folgt aussieht:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- Development -->
<property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/balie?autoReconnect=true&useUnicode=true&characterEncoding=iso-8859-1</property>
<property name="hibernate.connection.username">username</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.default_catalog">db</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="hibernate.connection.pool_size">1</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="hibernate.current_session_context_class">thread</property>
<!-- <property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>-->
<!-- Disable the second-level cache -->
<property name="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="hibernate.show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- List of XML mapping files -->
<mapping resource="be/comp/model/balie/Zitdagen.hbm.xml"/>
</session-factory>
Ich kann nicht herausfinden, wo der Fehler sein könnte. Jede Hilfe ist willkommen. Vielen Dank.
Gr8 .. Es wurde Fehler in 5.0.6.Final fixiert in 5.0.7.Final –