Unterschied zwischen leer und null-Einschränkungen
Was ist der Unterschied zwischen der leere und der null-Einschränkungen ?
Habe ich die folgende Klasse
class Task {
String title
String notes
TekUser assignedTo
Date dueDate
TekEvent event
static constraints = {
title blank:false
notes blank: true , maxSize: 5000
assignedTo nullable:true
dueDate nullable:true
}
static belongsTo = TekEvent
}
und die mysql-Tabelle erstellt hat, die Noten nicht zu null, obwohl ich angegeben notes blank : true
Was bewirkt blank : true haben ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
blank:true
bedeutet das Feld akzeptiert eine leere Zeichenfolge oder man setzt sich nur durch die Räume, als gültige Werte. Eg:""
," "
nullable:true
bedeutet das Feld akzeptiertnull
als gültigen WertSie zusammen verwendet werden können. Eg:
notes
eingestellt istnot null
in der Tabelle ?Während die Antwort von aruizca ist korrekt und beschreibend, ich fand das beim Lesen des Buches: "Programming Grails" von Burt Beckwith.
Es ist möglicherweise nicht relevant für Ihre Frage. Aruizca s Antwort ist alles, was Sie brauchen, aber dies kann auch zusätzliche Informationen über Leerzeichen und Nullen.
Die anderen Antworten sind alle richtig, aber um auf Ihre Frage:
blank: false
schützt leere Werte( z.B. "", " ", usw.) wird festgelegt auf das Feld. Dies hat nichts zu tun mit dem Feld mit der EinschränkungNOT NULL
auf mysql. Dies passierte, weil Grails Einschränkungen Standard zunullable: false
auf jedem Feld ein, wenn Sie explizit den Wertnullable: true
.nullable: false
akzeptieren leerer string, wennblank
beschränken, ist nicht gegeben?nullable: false
da die Daten Bindemittel zu konvertieren, leere Saiten zu null.