Come faccio a inizializzo un campo Data in un oggetto di dominio Grails di agire come un timestamp?
-
23-09-2019 - |
Domanda
Ho una classe di dominio che ha due date in esso e voglio uno di loro popolato con l'ora corrente quando viene creato un record per l'oggetto, come un timestamp creare ...
class Contact {
Date initiatedDate
Date acceptedDate
}
E 'sufficiente solo per un oggetto nuovo Date
su uno di essi e rendere l'altra annullabile fino al momento in cui ho bisogno di riempirlo, un po' come questo ...
class Contact {
static constraints =
{
acceptedDate(nullable:true)
}
Date initiatedDate = new Date()
Date acceptedDate
}
sto sperimentando, ma vorrei sapere se questo è il modo giusto per andare su di esso o se c'è qualcosa di più Grailsy o GORMy devo fare, per esempio, una funzione init
o con le opportune la definizione dell'oggetto del dominio per avere uno di default, come fa un id
e version
.
Grazie
Soluzione
Quello che hai scritto dovrebbe funzionare, ma è possibile utilizzare la GORM funzione di auto-timestamping con la semplice aggiunta di un campo:
class Contact {
Date dateCreated
}
Se si desidera mantenere i propri nomi per i campi stessi Grails documenti mostrano anche come utilizzare gli eventi Gorm per impostare i campi di salvare o di aggiornamento.
HTH