Fehler bei Hibernate Configuration

Status
Nicht offen für weitere Antworten.

Java09

Mitglied
Hallo zusammen,

ich versuche gerade, Hibernate zum mit der Datenbank H2 zu benutzen. Nachdem ich versuche eine Confoguration zu erstellen kommt folgender Fehler:

Java:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1528)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
	at database.EventtypDatabase.main(EventtypDatabase.java:8)
Caused by: org.dom4j.DocumentException: [url]http://hibernate.sourceforge.net/hibernate-configuration-%0A3.0.dtd[/url] Nested exception: [url]http://hibernate.sourceforge.net/hibernate-configuration-%0A3.0.dtd[/url]
	at org.dom4j.io.SAXReader.read(SAXReader.java:484)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1518)
	... 3 more

Meine hibernate.cfg.xml Datei (falls es weiterhilft) sieht folgendermassen aus:

[XML]<!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="dialect">
org.hibernate.dialect.H2Dialect
</property>
<property name="connection.driver_class">
org.h2.Driver
</property>
<property name="connection.username">
sa
</property>
<property name="connection.password">
</property>
<property name="connection.url">
jdbc:h2:file:hibernate/db/database
</property>
<mapping resource=
"hibernate/mappings/Eventtyp.hbm.xml"
/>
</session-factory>
</hibernate-configuration>[/XML]

Weiß jemand, was ich falsch gemacht habe?

Danke im Voraus.
 
S

SlaterB

Gast
hibernate WARN Please initialize the log4j system properly. - Google-Suche

->
First Hibernate example - tutorial
Configuring Log4J

edit: ach, du hast wohl mehr Probleme mit der hibernate.cfg.xml ;),
aber vielleicht auch mit Vergleich mit Beispielen zu klären

vielleicht
<?xml version='1.0' encoding='UTF-8'?>
ganz an den Anfang

Strings wie
> "http://hibernate.sourceforge.net/hibernate-configuration-
> 3.0.dtd">
nicht unbedingt in zwei Zeilen

edit 2:
daher kommt wohl das %0A in der Fehlermeldung
> Nested exception: http: // hibernate.sourceforge.net/hibernate-configuration-%0A3.0.dtd
 
Zuletzt bearbeitet von einem Moderator:

Java09

Mitglied
Danke für die Hilfe. Die Fehlermeldungen sind weg. Bin ziemlicher Anfänger und habe deswegen so meine Probleme mit Hibernate.

Hätte noch ein anderes Problem:

Ich habe eine Klasse Eventtyp erstellt. Damit sollen Events in einem Kalender genauer beschrieben werden. Dies will ich mit Hibernate speichern.

Java:
package logic;

import java.awt.Color;

public class Eventtyp {

	/* Class represent a Eventtyp */

	private String name = "";
	private Color color = null;
	private String logo = "";
	private String parent_name = "";
	private long id;
	
	public Eventtyp() {}
	
	public Eventtyp(String name, Color color, String logo, String parent_name) {
		
		/* Constructor with name, color, logo and parent(Eventtyp) */
		
		this.name = name;
		this.color = color;
		this.logo = logo;
		this.parent_name = parent_name;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Color getColor() {
		return color;
	}

	public void setColor(Color color) {
		this.color = color;
	}

	public String getLogo() {
		return logo;
	}

	public void setLogo(String logo) {
		this.logo = logo;
	}

	public String getParent_name() {
		return parent_name;
	}

	public void setParent_name(String parent_name) {
		this.parent_name = parent_name;
	}

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

}

Probleme macht das Attribut Color. Ich habe es folgendermassen versucht:

[XML]<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="logic">
<class name="Eventtyp">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<component name="color" class="java.awt.Color">
<property name="green" column="color_green"/>
<property name="blue" column="color_blue" />
<property name="red" column="color_red" />
</component>
<property name="logo"/>
<property name="parent_name" column="parent"/>
</class>
</hibernate-mapping>[/XML]

Nun kommt aber folgende Fehlermeldung

Java:
Exception in thread "main" org.hibernate.PropertyNotFoundException: Could not find a setter for property green in class java.awt.Color

Heisst das, dass ich diese Klasse, da sie keine setter-Methoden besitzt, nicht verwenden kann.
 
S

SlaterB

Gast
ich denke genau das heißt es,
schreibe dir eine Hilfsklasse SimpleColor mit drei int, setter, getter, wichtig: auch ein Konstruktor ohne Parameter,
damit kann sich Hibernate nicht mehr beschweren,
und für die Verwendung im Programm kommen noch Methoden wie createColor() dazu, welche eine AWT-Color zurückgibt,
die auch ruhig ein Attribut sein kann, sollte nur korrekt geändert/ zurückgesetzt werden, falls sich eine der drei ints ändert,
falls du die int-getter/ setter nicht aus dem Programm aufrufen willst, sondern nur für Hibernate, kannst du sie, glaube ich, sogar private machen
 

Java09

Mitglied
Wieder danke für den Tipp. Habe das ganze jetzt umgesetzt. Nur kam jetzt eine neue Fehlermeldung.

Java:
Exception in thread "main" java.lang.NoClassDefFoundError: javassist/util/proxy/MethodFilter
	at org.hibernate.bytecode.javassist.BytecodeProviderImpl.getProxyFactoryFactory(BytecodeProviderImpl.java:49)
	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactoryInternal(PojoEntityTuplizer.java:203)
	at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:181)
	at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:158)
	at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:76)
	at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:80)
	at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:325)
	at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:457)
	at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:131)
	at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:84)
	at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:261)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
	at database.EventtypDatabase.main(EventtypDatabase.java:10)
Caused by: java.lang.ClassNotFoundException: javassist.util.proxy.MethodFilter
	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)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 13 more

Scheint so, dass die Klasse nicht geladen werden kann.

Meine Mapping-Datei (nur Änderung):

[XML]<component name="color" class="logic.SimpleColor">
<property name="green" column="color_green"/>
<property name="blue" column="color_blue" />
<property name="red" column="color_red" />[/XML]

Ich habe in der Eventtyp-Klasse die Klasse Color durch SimpleColor ersetzt. Verstehe nicht, warum der Fehler auftritt.
 
S

SlaterB

Gast
tja,
du brauchst wohl eine javassist-Library,
jars containing the class javassist.util.proxy.MethodFilter

habe noch nie davon gehört, müsste bei deiner Hibernate-Installation eigentlich entweder dabei sein oder zumindest erwähnt werden,
nach
Trouble getting Hibernate Core and Hibernate Annotations using Apache Ivy (but it's also Maven2 related.) - Stack Overflow
scheint das aber ein kompliziertes Thema zu sein ;)

im Zweifel die neuest derartige Library laden und verwenden



--------

ClassNotFoundException: javassist.util.proxy.MethodFilter hibernate - Google-Suche
 

Java09

Mitglied
tja,
du brauchst wohl eine javassist-Library,
jars containing the class javassist.util.proxy.MethodFilter

habe noch nie davon gehört, müsste bei deiner Hibernate-Installation eigentlich entweder dabei sein oder zumindest erwähnt werden,
nach
Trouble getting Hibernate Core and Hibernate Annotations using Apache Ivy (but it's also Maven2 related.) - Stack Overflow
scheint das aber ein kompliziertes Thema zu sein ;)

im Zweifel die neuest derartige Library laden und verwenden



--------

ClassNotFoundException: javassist.util.proxy.MethodFilter hibernate - Google-Suche

Dann hiess die Meldung, dass diese lib nicht gefunden werden konnte. Habe sie jetzt dazugenommen und der Fehler ist weg.
Vielen Dank erneut.
 

Java09

Mitglied
Ich habe leider ein erneutes Problem (irgendwie komme ich ingesamt mit Hibernate nicht so gut klar).

Ich habe, nachdem die sonstigen Probleme beseitigt waren, folgende Klasse erstellt:

Java:
package database;

import logic.SimpleColor;
import logic.Eventtyp;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.hibernate.Query;
import java.util.List;

public class EventtypDatabase {
	
	Configuration configuration = null;
	SessionFactory sessionFactory = null;
	
	public EventtypDatabase() {
		
		this.configuration = new Configuration().configure();
		this.sessionFactory = configuration.buildSessionFactory();
		
		SchemaExport export = new SchemaExport(configuration);
		export.create(false, true);
		
	}
	
	public void newEventtyp(Eventtyp eventtyp) {
		
		Session session = sessionFactory.openSession();
		Transaction transaction = session.beginTransaction();
		session.save(eventtyp);
		
		transaction.commit();
		session.close();
		
	}
	
	public Eventtyp loadEventtyp(String name) {
		
		Session session = sessionFactory.openSession();
		Query query = session.createQuery(
				"from Eventtyp where name='" + name + "'");
		List result = query.list();
		
		session.close();

		return (Eventtyp) result.get(0);
		
	}
	
	public List loadAllEventtyp() {
			
			Session session = sessionFactory.openSession();
			Query query = session.createQuery(
					"from Eventtyp");
			List result = query.list();
			
			session.close();
	
			return result;
			
		}
	
	public static void main(String[] args) {
		
		EventtypDatabase eventtypDatabase = new EventtypDatabase();
		
		eventtypDatabase.newEventtyp(new Eventtyp("Test", new SimpleColor(0, 0, 0), "", ""));
		
		System.out.print(eventtypDatabase.loadAllEventtyp());

		
	}
}

Sie hat Methoden zum Speichern und Laden von Eventtyp-Objekten. Dies funktioniert auch soweit. Nur werden die Objekte nicht dauerhaft gespeichert. Starte ich die Anwendung erneut, sind die Daten der vorherigen Ausführung verloren gegangen.

Meine Url für die Datenbank, womit eine embedded-Datenbank erstellt werden sollte:

[XML]jdbc:h2:hibernate/db/database[/XML]

Vielleicht habe ich irgendeinen Logikfehler in meinem Code. Komme aber nicht dahinter.
 
S

SlaterB

Gast
das muss ja irgendwas mit H2-Konfiguration zu tun haben, denn solche embedded DB kann ja offensichtlich auch ohne Festplatte auskommen,
ich habe davon keine Ahnung

hibernate h2 embedded persist - Google-Suche
führt zum PDF
http://www.dpunkt.de/leseproben/2663/Kapitel_3.pdf
darin ist unter anderem von
jdbc:h2:file:db/termine
die Rede, vielleicht brauchst du sowas, vielleicht ganz lesen, überhaupt H2 kennenlernen,
vielleicht neues Theme hier oder in einem H2-Forum speziell zu diesem Problem öffnen
 

Java09

Mitglied
Das war auch das Tuturial, was ich verwendet habe. Ich werde mich dann mal genauer mit H2 beschäftigen und bei andauernden Problemen ein neues Thema eröffnen.

Danke für die Hilfe.

P.S: Fehler gefunden. Schema Export scheint die Datenbanktabellen neu zu erstellen. Wenn ich das weglasse geht es.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
jgh Zeichensatz-Fehler Datenbankprogrammierung 10
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Fehler im SQL ... Datenbankprogrammierung 8
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
G Fehler beim Verbinden Datenbankprogrammierung 4
D Primary-Key -> Fehler: "Unique constraint violation& Datenbankprogrammierung 12
E Fehler in der SQL-Anweisung Datenbankprogrammierung 11
A Fehler in der Datenbankklasse Datenbankprogrammierung 14
M insert befehl funzt nicht!wo ist der fehler? Datenbankprogrammierung 5
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
L komischer Fehler von ResultSet. Datenbankprogrammierung 2
R Fehler in Datenbankanbindung Servlet -> Access Datenbankprogrammierung 5
E Fehler bei String-Insert in MySQL-DB Datenbankprogrammierung 8
G Wo ist hier der Fehler (createStatement) Datenbankprogrammierung 2
M executeBatch() - Inserts trotz Fehler weitermachen Datenbankprogrammierung 5
W Fehler bei Insert Anweisung obwohl getestet Datenbankprogrammierung 3
J Fehler beim PreparedStatement Datenbankprogrammierung 2
H Java/Access - Fehler bei der Parameterübergbe Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben