-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 
Author Message
 Post subject: J2SE persistence.xml, Netbeans 6 und SessionFactory
PostPosted: Mon Jan 14, 2008 7:04 am 
Newbie

Joined: Mon Jan 14, 2008 6:55 am
Posts: 3
Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp

Hibernate version:3

Full stack trace of any exception that occurs:
org.hibernate.HibernateException: /hibernate.cfg.xml not found
Name and version of the database you are using:
FirebirdSQL


Hallo Bordbewohner,

ich bin neu im Bereich Hibernate und versuche gerade meine erste Applikation damit ans Laufen zu bekommen.
Allerdings habe ich auch gleich schon ein paar Schwierigkeiten.

Ich verwende Netbeans 6 und habe damit meine DAO-Objecte automatisch erzeugen lassen. Netbeans erzeugt mir dann eine PersistenceUnit und eine persistence.xml.

Nun möchte ich mit - wenn es denn so richtig ist - der SessionFactory und Hibernate arbeiten.

Wenn ich nun beim Programmstart folgendes eingebe:

try {
// Initialisiere Persistenz
AnnotationConfiguration cfg = new AnnotationConfiguration();
this.sessionFactory = (SessionFactory) cfg.configure().buildSessionFactory();
}
catch (Exception e){
System.out.println(e);
log.error(e);
System.exit(-1);
}

dann erhalte ich obige Fehlermeldung.

Soweit so gut. Er versucht scheinbar nicht die persistence.xml, sonder die hibernate.cfg.xml zu verwenden. Nun habe ich cfg.configure("/META-INF/persistence.xml").buildSessionFactory() aufgerufen, nun meckert er aber, dass diese keine gültige Datei ist.

Was ist falsch? Vielleicht habe ich das Konzept auch noch nicht ganz verstanden.

Wer kann mir weiter helfen?

Viele Grüße

Michael


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 14, 2008 7:30 pm 
Expert
Expert

Joined: Tue Nov 23, 2004 7:00 pm
Posts: 570
Location: mostly Frankfurt Germany
Netbeans hat Dir eine JPA Anwendung erzeugt. Das ist etwas ganz anderes bzw. etwas anderes.

Hibernate + PersistenceManager + PersistenceManagerFactory - diverse Features = JPA

Du musst Dich also entscheiden was Du machst. Die Annotations kannst Du aber weiterverwenden. Du wirst für Hibernate aber eine hibernate.cfg.xml brauchen. Diverse Tutorials zeigen wie das geht.

_________________
Best Regards
Sebastian
---
Training for Hibernate and Java Persistence
Tutorials for Hibernate, Spring, EJB, JSF...
eBook: Hibernate 3 - DeveloperGuide
Paper book: Hibernate 3 - Das Praxisbuch
http://www.laliluna.de


Last edited by LaLiLuna on Sat Jan 19, 2008 2:50 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 15, 2008 5:33 am 
Newbie

Joined: Mon Jan 14, 2008 6:55 am
Posts: 3
Netbeans hat mir hoffentlich keine JPA-Anwendung gebaut. Er hat mir nur die Objekte und die Unit aus der schon existierenden Datenbank erzeugt. Meine Anwendung muss ich jetzt nur irgendwie mit diesen Daten verknüpfen. Und genau hier habe ich Schwierigkeiten.

Mit Hilfe mehrerer Tutorials und Online-Artikeln bin ich nun auf das SessionFactory gekommen, wo ich der Meinung bin, dass mir das weiter hilf. Netbeans selbst hat leider nur ein JSF, Hibernate Tutorial, aus dem ich aber nicht ganz schlau werde, da sie dort eine durch den Wizard eine neue Datei vom Typo "JSF-Anwendung aus JPA-Schicht" erzeugen und es diesen Wizard in Netbeans 6 nicht gibt - oder ich bin einfach zu blöd.

Wer weiss Rat oder Links zu anständigen Tutorials die mir erst einmal die Anfänge als Einstieg erklären. Tiefergehende Sachen kann ich mir dann später - wenn es denn mal läuft und ich den Zusammenhalt von Hibernate verstanden habe - einlesen und dann das ganze für mich optimieren.

Vielen Dank


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jan 16, 2008 6:35 am 
Newbie

Joined: Wed Jan 16, 2008 6:28 am
Posts: 2
Hallo Michael,

stehe genau vor dem gleichen Problem und bin ebenfalls sehr an einer Lösung interessiert. Auch ich nutze Netbeans 6.0 und möchte Hibernate nutzen, weil Toplink mit meiner Firebird Datenbank nicht wirklich gut zusammenarbeitet. Einige Tabellen der Datenbank kann ich per Wizard anbinden, bei anderen erhalte ich eine ganze Reihe von Fehlermeldungen, die sich um ein Joincolumn-Problem drehen.

Was hast Du denn gemacht, ausser in der persistence.xml von Toplink auf (zusätzlich installierte Bibliotheken von) Hibernate umzustellen?

VG

Tilo


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 19, 2008 2:54 pm 
Expert
Expert

Joined: Tue Nov 23, 2004 7:00 pm
Posts: 570
Location: mostly Frankfurt Germany
Tutorials gibt es unter anderem auf meiner Webseite oder alternativ habe ich jetzt eine Suchmaschine entdeckt, die Webseiten durchsucht.
www.google.de Dort gibt man einfach "Hibernate tutorial" ein und schon werden einem alle Webseiten mit Hibernate Tutorials angezeigt.
Toll nicht ;-)

_________________
Best Regards
Sebastian
---
Training for Hibernate and Java Persistence
Tutorials for Hibernate, Spring, EJB, JSF...
eBook: Hibernate 3 - DeveloperGuide
Paper book: Hibernate 3 - Das Praxisbuch
http://www.laliluna.de


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 21, 2008 12:15 pm 
Newbie

Joined: Wed Jan 16, 2008 6:28 am
Posts: 2
Hallo Sebastian,

danke für Deine Antwort. Leider konnte zumindest mir Deine Seite und vor Allem Deine Neuentdeckung nicht weiterhelfen.

Scheinbar gibt es Probleme in der Zusammenarbeit von Hibernate und Netbeans 6.0. Das zumindest ist die Erkenntnis, zu der ich beim googeln bereits vor dem Post hier gekommen bin.

Ich bin momentan leider auf die Version 6.0 angewiesen bzw. mein Projekt ist auf dieses IDE ausgelegt. Daher suche ich nach spezifischen Lösungsansätzen in diesem Zusammenhang.

Es ist sicherlich möglich, dass ich bei der Suche bisher etwas außer Acht gelassen bzw. falsch verstanden habe. Die Materie der Zusammenarbeit von Datenbanken und Java ist für mich momentan noch ziemliches Neuland. Datenbanken und Java habe ich bisher nur getrennt behandelt und kennengelernt.

Ich wäre sehr dankbar, wenn jemand eine Idee zu dem spezifischen Problem der Nutzung von Hibernate in Netbeans 6.0 hätte.

Vielen Dank!

Tilo


Top
 Profile  
 
 Post subject: persistence.xml
PostPosted: Wed Dec 17, 2008 9:30 pm 
Newbie

Joined: Tue Dec 16, 2008 9:53 am
Posts: 3
Auch mit NetBeans 6.5 habe ich noch dasselbe Problem.

Aber im Buch "Java-Persistence API" von B. Müller
http://www.amazon.de/gp/product/3827325374?ie=UTF8&tag=ich-21&linkCode=xm2&camp=1638&creativeASIN=3827325374
steht auf S.32:
Man solle statt Configuration() einfach AnnotationConfiguration() verwenden. Verstehe es so, dass man ausschließlich die persistence.xml benötigt und die hibernate.cfg.xml dann unnötig ist. Dort wird ja auch Hibernate als PersistenceUnit angegeben. Außerdem ist Hibernate zu JPA konform, was ich wiederum als Bestätigung ansehe, dass man die Hibernate.cfg nicht braucht.

Also wohl
SessionFactory sf = new AnnotationConfiguration().buildSessionFactory();
statt
SessionFactory sf = new Configuration().configure().buildSessionFactory();

Trotzdem meckert Java, dass ihm eine hibernate.cfg.xml fehlt.
Schade.


Last edited by Alex77 on Wed Dec 17, 2008 9:43 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: persistence.xml geht doch!
PostPosted: Wed Dec 17, 2008 9:42 pm 
Newbie

Joined: Tue Dec 16, 2008 9:53 am
Posts: 3
Es muss zwar gecastet werden, dafür ist jetzt die hibernate.cfg.xml überflüssig. Juhuu.
Im eben genannten Buch auf Seite 205

--------------------------------------------------------------
EntityManagerFactory emf = Persistence.createEntityManagerFactory("#Name der PersistenceUnit in persistence.xml#");
EntityManager em = emf.createEntityManager();
Session session = (Session) em.getDelegate();

Query q = session.createQuery("from Contacts"); // Contacts ist meine JPA Enitity Klasse
// oder auch
Criteria c = session.createCriteria(Contacts.class);
List<Contacts> l = q.list();
System.out.println(l.get(0).getFirstName());
---------------------------------------------------------------

Es wird also keine Hibernate-Session geöffnet, sondern es läuft über den JPA EntityManager!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 8 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.