Ich verwende Play Framework 2 und Ebean. Wenn ein Benutzer ein Formular zum Bearbeiten eines vorhandenen Objekts in der Datenbank sendet, werden keine Nullwerte gespeichert. Ich schätze das ist, um das Überschreiben von Feldern zu verhindern, die nicht in der Form mit Null sind. Aber wie kann ich zulassen, dass sie Felder im Formular auf null setzen, wenn sie müssen?Wie kann ich Play Framework 2 und Ebean das Speichern von Nullfeldern mitteilen?
Zum Beispiel bearbeitet der Benutzer ein Event
Objekt. Event.date
ist 1/1/13. Der Benutzer setzt das Feld Event.date
im Formular auf leer und übergibt das Formular. Wenn Sie im Debugger Event.date
überprüfen, wird der Wert als null angezeigt. Ich speichere die Event
. Wenn ich auf die Event
in der Datenbank schaue, ist sein Wert immer 1/1/13.
Edit: Es scheint, dass es eine Methode dafür gibt. Das einzige Problem ist, dass es bei verschachtelten Entitäten nicht funktioniert. Irgendwelche Lösungen dafür?
update(Object bean,Set<String> properties)
(ich bin der Autor Ebean ORM) - Nur eine Notiz, dass diese Frage ist alt und gegen eine alte Version von Ebean. Das aktuelle Verhalten für "zustandslose Updates" besteht darin, dass das Setzen einer Null für eine Eigenschaft das Update einschließen sollte - also sollte nur das alte update() wie erwartet für Eigenschaften funktionieren, die Nullwerte enthalten. –