-->
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.  [ 4 posts ] 
Author Message
 Post subject: Lazy-loading verhindert Daten-anzeige...
PostPosted: Mon Mar 15, 2010 11:09 am 
Newbie

Joined: Tue Mar 02, 2010 5:39 am
Posts: 8
Hallo zusammen,
ich habe ein Problem, bei dem ich nicht weiter komme...
Ich habe ein Objekt Hochschule, dem ein anderes Objekt (WG) zugeordnet wird - Umgangssprachlich:
Die Hochschule XY gehört zur WG y. (Wettkampfgemeinschaft)
Der XML-Code sieht so aus:
Code:
<hibernate-mapping>
  <class name="data.Hochschule" table="hochschulen">
    <id column="HochschuleID" name="HochschuleID" type="integer">
      <generator class="increment"/>
    </id>
    <property column="Hochschule" name="Hochschule" not-null="true" type="string" unique="true"/>
    <many-to-one column="WgID" name="wg"/>
  </class>
</hibernate-mapping>


Das funktioniert an anderer Stelle gut:
Code:
       try{
      tmpVector.add(person.getHochschule().getWg().getWgName());
       }catch(java.lang.NullPointerException ex){
      // Die Hochschule hat keine zugehörige WG - Null-wert wird eingesetzt
      tmpVector.add(null);
       }


Der WgName wird gesetzt - kein Problem.

Nun möchte ich aber dass man einer Hochschule eine WG zuordnen kann über eine Combobox. Der habe ich die WGs als Objekte übergeben aber de folgende code gibt bei wgID = 0 und wgName = null zurück!
Code:
   this.session = persistence.HibernateUtil.getSessionFactory().openSession();
   java.util.List<data.Hochschule> tmpListe = session.createQuery("from data.Hochschule").list();
   org.hibernate.Hibernate.initialize(tmpListe);

   if (tmpListe.size()>4)
       hochschule = tmpListe.get(1);
   wg = tmpListe.get(1).getWg();
   hochschule.setWg(wg);

Wie ihr seht habe ich es mit initialize versucht - bin aber nicht sicher, ob das so funktionieren soll.
Ich hab auch versucht, auf die WG direkt zuzugreifen, in der Hoffnung, dass sie dann nachgeladen wird. aber auch bei wg = tmpListe.get(1).getWg();
bleibt de Inhalt leer...

Wie kriege ich ein vollständiges Objekt "hochschule"?


Top
 Profile  
 
 Post subject: Re: Lazy-loading verhindert Daten-anzeige...
PostPosted: Mon Mar 15, 2010 11:32 am 
Regular
Regular

Joined: Thu Dec 10, 2009 10:53 am
Posts: 50
initialize() wird AFAIK auf PersistentCollectionS angewendet also z.B. ein
class Parent{
Set<Child> childrenSet;
}

Was du da versuchst, versteh ich nicht. Wenn du mehr als 4 Hochschulen gefunden hast nimmst du die 2. und weist dessen Attribut den Wert zu den es eh schon hat?

Quote:
if (tmpListe.size()>4)
hochschule = tmpListe.get(1);
wg = tmpListe.get(1).getWg();
hochschule.setWg(wg);


Top
 Profile  
 
 Post subject: Re: Lazy-loading verhindert Daten-anzeige...
PostPosted: Mon Mar 15, 2010 11:55 am 
Newbie

Joined: Tue Mar 02, 2010 5:39 am
Posts: 8
Es ist ein Test - und er funktioniert nicht mal mit einem einzelnen Ergebnis (get(2)).

Und wenn getWg() einen Wert liefern würde wäre mein Code echt überflüssig...

Aber genau das ist ja mein Problem - getWg liefert ein Objekt mit wgId = 0 und wgname = null


Top
 Profile  
 
 Post subject: Re: Lazy-loading verhindert Daten-anzeige...
PostPosted: Mon Mar 15, 2010 4:52 pm 
Newbie

Joined: Tue Mar 02, 2010 5:39 am
Posts: 8
Hat sich wohl erledigt -
es scheint, als wären alle Daten da...
blöderweise funktioniert meine Combobox noch nicht und im Debugger werden die Daten eben nicht korrekt angezeigt.
Nachdem ich zum alten System.out.println zurückgegriffen habe, waren die Daten da.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 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.