Как инициализировать поле «Дата» в объекте домена Grails, чтобы оно действовало как метка времени?
-
23-09-2019 - |
Вопрос
У меня есть класс домена, в котором есть две даты, и я хочу, чтобы одна из них была заполнена текущим временем, когда для объекта создается запись, например временная метка создания...
class Contact {
Date initiatedDate
Date acceptedDate
}
Достаточно ли просто нового Date
объект на одном из них и сделать другой обнуляемым до тех пор, пока мне не понадобится его заполнить, вроде этого...
class Contact {
static constraints =
{
acceptedDate(nullable:true)
}
Date initiatedDate = new Date()
Date acceptedDate
}
Я экспериментирую, но мне хотелось бы знать, правильный ли это путь или есть что-то более Grailsy или GOR, которое мне следует сделать, скажем, в init
функцию или изменив определение объекта домена так, чтобы оно было по умолчанию, как это происходит с id
и version
.
Спасибо
Решение
То, что вы написали, должно работать, но вы можете использовать GORM. автоматическая отметка времени функцию, просто добавив поле:
class Contact {
Date dateCreated
}
Если вы хотите сохранить собственные имена для полей, те же документы Грааля также покажем вам, как использовать события GORM для настройки полей при сохранении или обновлении.
ХТХ