Skip to content

Domainklassen

TrickShotMLG02 edited this page Jul 11, 2021 · 7 revisions

Domainklassen

Eine Domainklasse repräsentiert das Kernmodell der Grails-Anwendung und wird in Datenbanktabellen wiedergespiegelt. Die Tabellen heissen gleich, wie die Domainklassen und enthalten die selben Attribute.
Es gibt jedoch bestimmte Attributnamen wie zum Beispiel name, die man nicht benutzen sollte/darf, da es zu Problemen führen kann!

Eine Domainklasse für einen User sieht dann zum Beispiel wie folgt aus

class User {


    //Attribute

    String username


    //Constraints

    static constraints = {
        username blank: false, unique: true
    }


    //Methoden

    String toString()
    {
        return "${id} ${username}"
    }

}

In den Constraints legt man fest, welche Anforderungen die Werte für die einzelnen Attribute erfüllen müssen. Dazu fügt man den Namen des Attributes zusammen mit den einzelnen Anforderungen ein. Im obigen Beispiel darf das Attribut username nicht leer sein und es darf nicht bereits in den Datensätzen der Tabelle vorkommen. Dies ist für einen Benutzernamen sinnvoll.

Es gibt aber auch noch viele andere Anforderungen wie zum Beispiel size: a..b, wodurch man festlegen kann, dass die Länge des Wertes zwischen a und b liegen muss.

Man kann aber auch überprüfen, ob der Wert eine Email-Adresse ist. Dies macht man mit email: true.

Clone this wiki locally