Hibernate 3.x - ClassNotFoundException bei new Configuration()

Yoshi2k

Grünschnabel
Hallo zusammen,

ich verzweifle langsam. Ich brauche Hibernate in einem Projekt, scheitere aber gerade schon an einer Kleinigkeit, bevor Hibernate überhaupt richtig ans laufen kommt. Obwohl ich alle Libraries, die erforderlich sind, eingebunden habe, Eclipse auch keinerlei Fehler im Code meldet, findet mein Programm die Configuration Klasse nicht (Genaue Stelle siehe Code). Ich bin nach diesem Tutorial vorgegangen: http://www.roseindia.net/hibernate/firstexample.shtml
Zwar nutze ich die Hibernate Tools in Eclipse, welche im Tutorial nicht angesprochen werden, die erzeugten XML Dateien stimmen allerdings soweit überein.

Hier mein Code, in der Hoffnung mit kann jemand helfen...

Contact.java
Code:
package de.hda.test;

public class Contact {
	private Long 	id;
	private String 	firstname;
	private String 	lastname;
	private String 	email;
	public void setId(Long id) {
		this.id = id;
	}
	public Long getId() {
		return id;
	}
	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}
	public String getFirstname() {
		return firstname;
	}
	public void setLastname(String lastname) {
		this.lastname = lastname;
	}
	public String getLastname() {
		return lastname;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getEmail() {
		return email;
	}
}

Example1.java
Code:
package de.hda.test;

import org.hibernate.*;
import org.hibernate.cfg.*;

public class Example1 {

	public static void main(String[] args) {
		Session mySession = null;
		
		try {
			SessionFactory mySessionFactory = new Configuration().configure().buildSessionFactory(); // <-- hier kommt der Fehler! (ClassNotFoundException)!!
			mySession = mySessionFactory.openSession();
			System.out.println("Insert");
			Contact contact = new Contact();
			contact.setFirstname("Mustermann");
			contact.setLastname("Max");
			contact.setEmail("max@mustermann.de");
			contact.setId(1L);
			mySession.save(contact);
			System.out.println("Done!");	
		}catch (Exception e)
		{
			System.out.println(e.getMessage());
		}finally{
			mySession.flush();
			mySession.close();
		}
	}
}
hibernate.cfg.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
                                         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
  <property name="hibernate.connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
  <property name="hibernate.connection.password">*****</property>
  <property name="hibernate.connection.url">jdbc:db2://localhost:50000/HIBETEST</property>
  <property name="hibernate.connection.username">*****</property>
  <property name="hibernate.dialect">org.hibernate.dialect.DB2Dialect</property>
  <!-- Mapping files -->
  <mapping resource="de/hda/test/Contact.hbm.xml"/>
 </session-factory>
</hibernate-configuration>
Contact.hbm.xml
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 17.03.2011 15:06:17 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="de.hda.test.Contact" table="CONTACT">
        <id name="id" type="java.lang.Long">
            <column name="ID" />
            <generator class="assigned" />
        </id>
        <property name="firstname" type="java.lang.String">
            <column name="FIRSTNAME" />
        </property>
        <property name="lastname" type="java.lang.String">
            <column name="LASTNAME" />
        </property>
        <property name="email" type="java.lang.String">
            <column name="EMAIL" />
        </property>
    </class>
</hibernate-mapping>

Eigentlich kann doch bei diesem Minimalbeispiel nichts schief gehen, oder?

Folgende Libraries habe ich eingebunden:
Code:
hibernate3.jar (Version 3.6.1)
hibernate-testing.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar
db2jcc4.jar

Hat jemand eine Idee? Ich hatte schon überlegt, ob er vielleicht die cfg Datei nicht findet und habe deshalb zum Test mal auf die Verwendung von Packages verzichtet, damit alles an der gleichen Stelle landet. Dies brachte aber auch keine Besserung. Ich komme irgendwie nicht weiter....

Vielen Dank!
Stefan

PS: Ich bekomme außerdem die Meldung
Code:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Diese konnte ich loswerden in dem ich statt der "slf4j-api-1.6.1.jar" die Datei "log4j-over-slf4j-1.6.1.jar" als Lib eingebunden habe. War dies korrekt? Ich habe die Datei direkt von der Projektseite runtergeladen (http://www.slf4j.org/download.html).
 

Neue Beiträge

Zurück