Как инициализировать поле «Дата» в объекте домена Grails, чтобы оно действовало как метка времени?

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

  •  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 для настройки полей при сохранении или обновлении.

ХТХ

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top