Utilizzo Play Framework 2 ed Ebean. Quando un utente invia un modulo per modificare un oggetto esistente nel database, non salva valori nulli. Immagino che questo sia per evitare di sovrascrivere i campi che non sono nel formato con null. Ma come posso lasciarli impostare campi nel formato a null se necessario?Come posso comunicare a Play Framework 2 e Ebean di salvare campi null?
Ad esempio, l'utente modifica un oggetto Event
. Event.date
è 1/1/13. L'utente imposta il campo Event.date
nel modulo per svuotare e invia il modulo. L'ispezione di Event.date
nel debugger mostra che il suo valore è nullo. Salvo lo Event
. Se guardo lo Event
nel database, il suo valore è ancora 1/1/13.
Modifica: Sembra che ci sia un metodo per questo. L'unico problema è che non funziona su entità nidificate. Qualche soluzione per questo?
update(Object bean,Set<String> properties)
(io sono l'autore di Ebean ORM) - Solo una nota che tale questione è vecchio e contro un vecchio versione di Ebean. Il comportamento corrente per "aggiornamenti stateless" è che l'impostazione di un valore nullo in una proprietà deve includere l'aggiornamento, quindi semplicemente old update() dovrebbe funzionare come previsto per le proprietà impostate, compresi i valori nulli. –