Como inicializo um campo Data em um objeto de domínio Grails para atuar como um carimbo de data/hora?
-
23-09-2019 - |
Pergunta
Eu tenho uma classe de domínio que contém duas datas e quero que uma delas seja preenchida com a hora atual em que um registro é criado para o objeto, como um carimbo de data/hora de criação...
class Contact {
Date initiatedDate
Date acceptedDate
}
É suficiente apenas um novo Date
objeto em um deles e tornar o outro anulável até o momento em que eu precise preenchê-lo, mais ou menos assim ...
class Contact {
static constraints =
{
acceptedDate(nullable:true)
}
Date initiatedDate = new Date()
Date acceptedDate
}
Estou experimentando, mas gostaria de saber se esta é a maneira correta de fazer isso ou se há algo mais Grailsy ou GORMy que eu deveria fazer, digamos, em um init
função ou ajustando a definição do objeto de domínio para ter uma por padrão, como acontece com um id
e version
.
Obrigado
Solução
O que você escreveu deve funcionar, mas você pode usar o GORM carimbo de data/hora automático recurso simplesmente adicionando um campo:
class Contact {
Date dateCreated
}
Se você quiser manter seus próprios nomes para os campos, o mesmos documentos grails também mostra como usar eventos GORM para definir campos ao salvar ou atualizar.
HTH