ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1327
1327
EMPFEHLEN
-
hallo leute,
ich versuch mich gerade an einer kleineren anwendung begleitend zu der aus dem buch "hibernate und die java persistence api", leider sind die sourcen aus dem buch auf der angegebenen seite (hibernatebuch.de) nicht mehr anzutreffen und die code fragmente aus dem buch nicht vollständig bzw. der kontext nicht immer ganz ersichtlich.
wenn jemand die sourcen von dem original hat und bereitstellen könnte, das wäre göttlich, oder n funktionierender link
wär auch gut.
Sonst bleibt da noch die möglichkeit mir direkt bei dem problem zu helfen, hab da heute und gestern mit nem kumpel schon drüber gegrübelt/gegoogelt, und überall steht dieselbe info wie im buch, ich vermute langsam
das das zu hoch für mich sein muss, oder so einfach, das man hinterher dafür ohrfeigen sollte.
mein problem:
in der persistence.xml soll eine entityManagerFactory erzeugt werden, diese soll im META-INF des classpaths liegen allerdings harpert es hier...
was ist damit genau gemeint? ich hab ein maven-quickstart archetype unter verwendung des maven2eclipse plugins erzeugt und alle notwendigen dependencies hinzugefügt.
allerdings weiß ich nicht was genau in die persistence.xml hineingehört, noch wo sie genau hinsoll, oder vielmehr wo die meta-inf in einem maven projekt hinmuss oder ob maven noch zusätzlicher konfiguration bedarf...
im buch fängt der codeschnipsel so an, ich glaube das in der datei noch iwas vorangestellt werden müsste son <?xml> tag oder so
vorher hab ich wie im buch beschrieben hibernate mittels hibernate.cfg.xml gefüttert mit denselben parametern, nun heißt es man könnte die settings dort iwie wohl durch die der persistence.xml ersetzen, müssten dann nicht aber noch die mapping infos dareinCode :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<persistence ...> <!-- was ist denn mit den .... hier gemeint? --> <persistence-unit name="punit" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name="hibernate.connection.driver_class" value="org.postgresql.Driver" /> <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.connection.username" value="booksonline" /> <property name="hibernate.connection.password" value="db" /> <property name="hibernate.connection.url" value="jdbc:postgresql://localhost:5432/booksonline" /> </properties> </persistence-unit> </persistence>

dann hab ich noch 2 weitere codeschnippsel die vermutlich beide in dieselbe datei gehören
Code :1 2 3 4 5 6
<beans> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> <property name="persistenceUnitName" value="punit" /> </bean> </beans>
von dem letzten codefragment wird behauptet das es in die booksonline-dao.xml gehört.Code :1 2 3 4 5 6 7 8 9
<beans> <bean id="genericDao" class="de.elbs.ics.dao.GenericDaoImpl" abstract="true"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <bean id="userDao" class="de.elbs.ics.dao.UserDaoImpl" parent="genericDao" /> <!-- weitere konkrete daos die aber noch nicht implementiert sind und daher noch fehlen --> </beans>
ich habe ein kleines spring dependency injection hallo welt programm nachvollzogen dort musste ich explizit den zugriff auf die XmlBeanFactory mit der passenden resource von hand vornehmen, hat super geklappt!
In den folgenden codeschnippseln taucht leider kein expliziter verweis auf booksonline-dao.xml auf daher hab ich nich so recht die peilung ob ich es nun selber tun soll oder ob das beispiel auf irgendeine konfiguration zurückgreift, in der verlangt wird das eine booksonline-dao.xml an einer festgelegten stelle existieren muss.
bei dem hibernate jpa krams muss die datei ja einen besonderen namen haben und an einer bestimmten stelle liegen... narf!
wie muss mein projekt ausschauen damits klappt.
ich hab noch ne generelle frage zu dem meta-inf dir.
das kommt doch erst in der gepackten jar zum tragen, wie kann ich angenommen ich hab das richtig verstanden meine software ohne sie zu packen dann vorher in eclipse testen, wenn teile der sourcen/resourcen in ordnern liegen die erst beim packen verfügbar sind?
ich hoff es gibt jemanden der geduldig genug ist das bis hierher zu lesen

vielen dank schon mal
greez isaias
-
huhu nochma,
ich bin nu n stück weiter gekommen,
mein META-INF dir ist nun im src/main/java/META-INF dir gelandet
ich hab einfach mal ne EntityManagerFactory und n EntityManager versucht zu erzeugen
dann hatter iwann nach ausschlussverfahren gemeckert das die persistence.xml inkorrekt wär.
dann hab ich dran rumgebastelt bis das aufgehört hat...
dabei hab ich rausgefunden das das eine codefragment bestehend aus der "entityManagerFactory" wohl nicht in die persistence.xml gehört...
ich kann mein eigentliches problem jetzt ja mal weiter verfeinern:
meine DAO implementierung erbt von JpaDaoSupport und delegiert die dao operationen an ein JpaTemplate weiter allerdings ist es ihm bisher nicht möglich gewesen dieses zu erzeugen und dieser delegate führt dann zu einer null pointer ex. WEIL das entityManagerFactory feld nicht gesetzt ist... das hab ich nun selbst getan, und es funktioniert. ich bin mir nich tsich ob das nun so die eleganteste lösung ist oder wie der author des beispiels sich das an der stelle gedacht hat, aber fürs erste tuts nun ersma was es soll.
vielleicht kann ja mal jemand sagen ob ich das in etwa richtig gelöst hab.
ich hab eine hilfsklasse angelegt die ein singleton EntityManagerFactory object erzeugt.
und in meiner Dao implementierung wird in jedem neu erzeugten Dao auf die JpaDaoSupport methode "setEntityManagerFactory(...)" zugegriffen und das aus der hilfsklasse kommende objekt übergeben. dann hab ich für die anwendung nur ein EMF das ich am ende der anwendung noch schließen müsste.
danke nochmal,
oft reicht es
wenn man mit jemandem über das problem spricht um zu merken wo der hase im pfeffer begraben ist oder so ähnlich 
greez isaiasGeändert von isaias_b (19.02.11 um 03:38 Uhr)
Ähnliche Themen
-
Kleines Beispiel zu JPA mit Spring 3.x, Hibernate 3.x, Lombok ,JUnit 4 und Maven 2.x
Von Thomas Darimont im Forum JavaAntworten: 10Letzter Beitrag: 05.03.12, 09:23 -
Hibernate Persistence.xml - Sinnvoller Wert für hibernate.hbm2ddl.auto
Von Herr_M im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 3Letzter Beitrag: 08.10.08, 08:21 -
Hibernate - Persistence Unit Not Found?
Von flashray im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 4Letzter Beitrag: 30.06.08, 11:01 -
Maven MyFaces Hibernate Spring - Projekt
Von y0dA im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 23.05.08, 15:30





Zitieren
Login





