Come faccio a inizializzo un campo Data in un oggetto di dominio Grails di agire come un timestamp?

StackOverflow https://stackoverflow.com/questions/2147216

  •  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

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top