| 

.NET C# Java Javascript Exception

1:n Beziehung mit nullable:true

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.


1:n Beziehung mit nullable:true

Wiper - 19.01.2009 17:00
Hallo,

habe eine 1:n Beziehung erstellt. Möchte aber auch die Möglichkeit haben nichts zuzuweisen.
Kann mit da jemand nen Tip geben? in die constraints nullable:true zu schreiben habe ich ausprobiert.

Zum verdeutlichen:
Wenn ich einen Autor habe und diesem n Bücher zuordnen kann, möchte ich evtl. beim erstellen des Autors noch kein Buch zuweisen.

Danke


Re: 1:n Beziehung mit nullable:true

blickwinkel - 10.02.2009 14:39
Hallo!

ich hatte auch das Problem. Komisch das nirgends in der Dokumentation oder tutorials darauf hingewiesen wird.
Mit nullable:true muss es aber gehen. Wenn nicht, könnte es eventuell mit dem scaffolding zu tun haben (keine Ahnung).

So sollte es ja funkt:

class Author {

     static hasMany = [books:Book]

}

und

class Book {
    
     Author author
     static belongsTo = Author

     constraints = {
             author (nullable:true)
    }
}

D.h. jetzt kann man ein Buch anlegen, ohne einen Autor beim Anlegen auswählen zu müssen.


Zusatz:
Hab grad ein Problem dabei gefunden:
Wenn man nach dem Anlegen des Buches durch die Edit-Funktion einen Autor zuweist und später diesen Autor löscht, bekommt man eine Fehlermeldung beim Anzeigen des Buches, da der Autor nicht mehr existiert, obwohl nullable:true

Zusatz 2:
Vielleicht kann man das oben genannte Problem lösen, indem man die "beforeDelete" Closure beim Autor-Objekt nutzt. Also bevor ein Autor gelöscht wird, wird überprüft, ob der Autor Assoziationen mit Bücher hat. Wenn ja, müssen diese Assoziationen gelöscht werden. Darum müsste man sich in der "beforeDelete" Closure selber kümmern.

Funkt!
def beforeDelete = {
        books.each {it.author = NULL}
    }


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "1:n Beziehung mit nullable:true" 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.