| 

.NET C# Java Javascript Exception

Baum speichern

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Baum speichern

aza090870 - 08.02.2010 16:47
Hallo,
Ich habe eine Domain-Klasse die als Baum-Knoten fungieren soll,
d.h: jede Instanz der Klasse behinhaltet einen Verweis auf seinen Elterneintrag
um auf diese Weise einen Baum rekonstruieren zu können.
Die Domain-Klasse schaut ungefähr so aus:

Language: Groovy
class ProfileCategory &#123; static mapping = &#123; table 'tbl_profile_category' id generator:'identity', column:'pk_profile_category_id' ... &#125; &nbsp; String name ProfileCategory parent = null ProfileCategory rootNode List<ProfileCategory>children = &#91;&#93; Set<Profile> profiles = &#91;&#93; &nbsp; static transients = &#91;"rootNode","children"&#93; &nbsp; // Relation static hasMany = &#91; children:ProfileCategory, profiles:Profile &#93; &nbsp; static constraints = &#123; active&#40;nullable: false&#41; portal&#40;nullable:false&#41; name&#40;size: 1..255, blank: false&#41; &#125; &nbsp; // IMPLEMENTED METHODS .. &#40;methods from interface&#41; &#125;

Und der Code der ein paar abhängige Instanzen der Klasse ProfileCategory erzeugen
und speichern soll schaut dann in etwa so aus:


Language: Groovy
... ProfileCategory root = new ProfileCategory&#40;name:"root"&#41;.save&#40;flush:true&#41; &nbsp; for&#40;int i=0; i < 10; i++ &#41; &#123; ProfileCategory cat = new ProfileCategory&#40; name:"node"+i, parent:root &#41;.save&#40;flush:true&#41; cat.setParent &#40; root &#41; &#125; &#125; ...

Letzlich speichert Hibernate zwar die ProfileCategory Objekte
ignoriert aber den parent - Bezug, sodass man keine
Struktur ableiten kann

Der Datensatz in der db-Tabelle schaut so aus:

id:1
name: node1
parent: null (???)
...

Danke im voraus


Re: Baum speichern

milkyman - 09.02.2010 08:09
Moin.

Schau mal in dem Thread zum Thema Parent/Child. Vielleicht hilft dir das weiter. Es gab das Thema auch sonst schon mehrfach im Forum, evtl. findest du mit der Suche den entscheidenden Hinweis.

Außerdem könntest du mal einen addToChildren o.ä. versuchen, also genau umgekehrt die Beziehung herstellen, vielleicht geht es erst dann.

Ich hab in meinem Projekt leider nur mit einer bestehenden Baumstruktur gearbeitet. D.h. ich habe die zwar auf eine Domain abgebildet, musste aber keine neuen Objekte hinzufügen, so dass sich mir dein konkretes Problem nie gestellt hat.

Bye,
Horst


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Baum speichern" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.