Hibernate endlich zu Laufen bekommen...

automatix

Aktives Mitglied
Hallo Leute!

Um ins Thema einzusteigen, habe ich ich es mit diesem Mini-Tutorial versucht. Nun gibt es folgende Fehlermeldung, die indirekt zur Zeile mit

Java:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

führt. Wenn man den finally-Block auskomentiert, kriegt man folgende Fehlermeldung:

60 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
60 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.6.0.Final
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.hibernate.cfg.Configuration.reset(Configuration.java:330)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:296)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:300)
at roseindia.tutorial.hibernate.FirstExample.main(FirstExample.java:18)
Caused by: java.lang.NullPointerException
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:167)
at org.hibernate.cfg.Environment.<clinit>(Environment.java:608)
... 4 more

Hat jemand eine Idee, was hier schief läuft?

Danke
 
M

Marcinek

Gast
Ich endecke eine Nullpointer in der konfiguration...

Um die Konfiguration mit Annotations zu machen, brauchst du einen AnnotationConfigurator und AnnotationFactory und so..
 

Andi_CH

Top Contributor
Da mich das Thema auch interessiert hab ich das zip geladen - fragen geht schneller als googeln und lesen - ja ich weiss ich bin faul ;-) - Nein, aber um einige 1000 Links zu untersuchen fehlt mir die Zeit - ist halt nur mein Hobby nebenher ;-)

Die Pakete org.hibernate.* fehlen bei mir - wo finde ich die auf die Schnelle und wie gehe ich damit um?
(hibernate-distribution-3.6.0.Final von sourceforge habe ich aber das ist doch etwas unübersichtlich)

Edit: Es scheint schon das richtige zu sein (Configuration.java gibt es auf jeden fall), aber wie binde ich diesen Moloch ein???
 
Zuletzt bearbeitet:

krazun

Bekanntes Mitglied
Ich hab die Zip-Datei mit deinem Beispiel runtergeladen, den Finally-Block wieder einkommentiert und es funktioniert ohne Probleme: Das Objekt wurde erfolgreich in die Datenbank geschrieben.

Also kann es am Quelltext nicht liegen.

Vielleicht eine falsche oder veraltete Lib eingebunden?

Ich hab folgende Versionen für das Beispiel benutzt:

  • antlr-2.7.6.jar
  • commons-collections-3.1.jar
  • dom4j-1.6.1.jar
  • hibernate-jpa-2.0-api-1.0.0.Final.jar
  • hibernate3.jar
  • javassist-3.12.0.GA.jar
  • jta-1.1.jar
  • mysql-connector-java-5.1.13-bin.jar
  • slf4j-api-1.6.1.jar
  • slf4j-simple-1.6.1.jar

mfg,
krazun
 

krazun

Bekanntes Mitglied
Hab grad gesehen du hast einfach die "hibernate-distribution-3.6.0.Final-dist.zip" eingebunden.

Entpack die Zip-Datei und binde dann daraus folgende Jar dateien ein:

  • ...hibernate-distribution-3.6.0.Final\hibernate3.jar
  • Alle Jar Dateien aus: ...hibernate-distribution-3.6.0.Final\lib\required\*
  • und ...hibernate-distribution-3.6.0.Final\lib\jpa\*

Auch die anderen Libs würd ich nochmal überprüfen. Es sieht z.B so aus als hättest du "mysql-connector-java-5.1.13.zip" eingebunden. Du musst aber "mysql-connector-java-5.1.13-bin.jar" einbinden, welche in dieser Zip-Datei drin ist. (Komplette Liste der benötigten *.jar-Dateien siehe letzter Post)

mfg,
krazun
 

automatix

Aktives Mitglied
Danke Dir erstmal, dass Du den Aufwand betrieben hast, das Projekt bei Dir zu testen, und man nun zumindest den Anwendungscode von der Verdächtigen-Liste streichen kann.

Hab grad gesehen du hast einfach die "hibernate-distribution-3.6.0.Final-dist.zip" eingebunden.
Wo siehst Du das? Alle von Dir aufgezählten Libs sind eingebunden. Nur der MySQL-Connector ist bei mir ein paar Updates älter -- aber daran wir es bestimmt nicht liegen (oder)? Ich habe nicht die ZIPs inkludiert, sondern die Archive entpackt und einfach mal alle Untereverzeichnisse durchforstet und sicherheitshalber alle JARs eingebunden (s. Attachment).

D.h.: der Code ist in Ordnung, die Libs sind da... Woran kann es denn noch liegen?
 

krazun

Bekanntes Mitglied
Wo siehst Du das?

Wenn ich dein Projekt bei mir importiere sind die Abhängigkeiten die du eingestellt hast noch im build path zu sehen, auch wenn sie bei mir nicht gefunden werden.

Das einzige was mir noch einfällt ist eventuell mal die ganzen libs zu entfernen die nicht benötigt werden. Also versuch es mal nur mit den libs mit denen es bei mir funktioniert. Bin mir nicht ganz sicher aber ich meine das es zu Problemen führen kann wenn man mehrere libs eingebunden hat, die unter Umständen die selben Klassen enthalten.

Warum hast du denn die hsqldb libs eingebunden? Laut der Hibernate Config nutzt du ja MySQL.

mfg,
krazun
 
Zuletzt bearbeitet:

automatix

Aktives Mitglied
Vielen lieben Dank! Es funktioniert! Endlich! Ich musste nur die Liste der eingebundenen JARs auf das Nötige reduzieren (s. Bild).

Verständnisfrage: Wie kann das eigentlich sein, dass zu viele inkludierte Libraries die Ausführung des Programms verhindern? OK, theoretisch könnten ja einige fehlerhaft sein (sind sie bestimmt nicht, aber es wäre ja rein theoretisch möglich). Aber das dürfte doch keine Rolle spielen, wenn sie eh nicht verwendet werden. Könntest Du (oder vlt. noch jemand?) mir das erklären?
 

Anhänge

  • hibernate-libs.png
    hibernate-libs.png
    76,3 KB · Aufrufe: 24

krazun

Bekanntes Mitglied
Problematisch wird es erst dann, wenn verschiedenen *.jars die selben Klassen beinhalten weil dann eventuell nicht genau definiert ist welche benutzt werden.

Wenn z.B die Klasse org.hibernate.util.ConfigHelper.getResourceAsStream sowohl in dem *.jar "hibernate3.jar" "und "hibernate-testing.jar" enthalten ist kann es zu Problemen kommen. Falls z.B. die Klasse aus "hibernate-testing.jar" benutzt wird, aber alle anderen libs sich normalerweise auf die Version aus "hibernate3.jar" beziehen kommt es zu solchen Fehlern. Ich weiß nicht ob diese beide libs in deinem Fall an dem Fehler schuld waren, weil ich mich noch nicht informiert habe wozu das testing-package ist, aber es kann öfters mal vorkommen das ein Framework libs enthält die man nicht zusammen nutzen sollte, sondern nur entweder oder.

mfg,
krazun
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Java EE 6, eclipse, maven, jsf, hibernate, mysql Allgemeines EE 8
O Hibernate Fehlermeldung bei start des Servers Allgemeines EE 2
E Frage zu Wildfly und Hibernate OGM Allgemeines EE 0
S Frage zu Jersey + Hibernate Allgemeines EE 1
D GWT mit Hibernate und Sql Datenbank Allgemeines EE 2
B Wicket, Hibernate, H2 memDB Anfänger Frage Allgemeines EE 2
H Hibernate - OneToMany - mappedBy reference an unknown target entity property Allgemeines EE 1
A Erste Schritte... Problem mit Hibernate Allgemeines EE 15
LadyMilka Ablaufdiagramm mit/ohne Hibernate Allgemeines EE 2
P Mit JAXB erzeugte Klassen persistieren (Hibernate) Allgemeines EE 10
K Anfänger: Hibernate + Web Allgemeines EE 2
T Hibernate 3 + EJB 3 + JBoss 5 Allgemeines EE 6
G Persistenz mit Hibernate oder J2EE? Allgemeines EE 11
C Hibernate - Expression.or Allgemeines EE 4
D Erst Spring oder erst Hibernate lernen? Allgemeines EE 2
D Java EE vs. Spring/Hibernate Allgemeines EE 26
Y myFaces und Hibernate Session Handling Allgemeines EE 7
W Speicher-Problem bei WebApp unter Tomcat, Struts, Hibernate Allgemeines EE 3
byte Remote Lazy Loading mit Spring und Hibernate Allgemeines EE 5
G JSF, Hibernate, Spring --> Struktur Allgemeines EE 2
F [Hallo] Frage zu Hibernate Mapping und Vererbung Allgemeines EE 3
G JSF | Hibernate | MySQL Allgemeines EE 17
G Hibernate: org.hibernate.TransactionException Allgemeines EE 4
F org.hibernate.LazyInitializationException: failed to lazily Allgemeines EE 8
J nur bestimmte Mapping-Dateien berücksichtigen (Hibernate) Allgemeines EE 14
S Hibernate EJB3 Allgemeines EE 2
E JBoss Hibernate Datenbank-Timeout Allgemeines EE 3
S Hibernate, Tomcat und Eclipse treiben mich zum Wahnsinn. Allgemeines EE 2
2 hibernate - createQuery() Allgemeines EE 9
T Hibernate die richtige Wahl? Allgemeines EE 2
M JSF mit Hibernate Allgemeines EE 14
W Hibernate *.Jar's im Klassenpfad Allgemeines EE 10
M Tomcat, Hibernate, MySQL und die EOFException Allgemeines EE 7
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
E JSF, Hibernate & MySQL: Keine Datenbankaktualisierung Allgemeines EE 5
M mit Hibernate 1:n in view richtige implementieren Allgemeines EE 3
M Hibernate Criteria frage Allgemeines EE 2
A Speicherproblem bei Webanwendung mit Hibernate und Stuts Allgemeines EE 6
A Hibernate-Problem mit MySQL-Cluster Allgemeines EE 6
S Fragen zu: Servlets, Struts & Hibernate Allgemeines EE 9
E JOINS und Hibernate? Allgemeines EE 3
S Hibernate Mapping Problem Allgemeines EE 3
S Hibernate INSERT Problem Allgemeines EE 11
S Java Enum in MySQL und Hibernate Allgemeines EE 3
R Hibernate: many-to-many funktioniert noch nicht ganz Allgemeines EE 2
D Hibernate hql suche Date Allgemeines EE 9
B JSF + Hibernate How2 Allgemeines EE 2
G [JSF+Hibernate]: DB-Constraints in Validierungsphase? Allgemeines EE 4
P struts Hibernate MySQL Select Statement Allgemeines EE 24
G JTA ja/nein & wie (JBoss & Hibernate & Transakti Allgemeines EE 3
T Hibernate & Logging in Log4J Allgemeines EE 4
T JSTL + Struts (inkl.Hibernate) -> forEach Problem Allgemeines EE 6
G Persistenz-Entscheidung (Entity Beans, Hibernate, JDBC) Allgemeines EE 12
S Hibernate 2.x mit Eclipse 2.1 Allgemeines EE 16
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
P Kriege JAAS einfach nicht zum Laufen Allgemeines EE 3
P CXF Project auf Tomcat laufen lassen - wie? Allgemeines EE 35
I Web-Projekt zum Laufen bringen unter Eclipse Allgemeines EE 3
F Timer in einem Applicationserver laufen lassen? Allgemeines EE 4
S webservice mit tomcat und axis ohne eclipse laufen lassen? Allgemeines EE 2
K Sun Application Server - Servlets laufen nicht Allgemeines EE 2
S Servlets zum laufen bringen mit J2EE Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben