Comment puis-je initialiser un champ Date dans un objet de domaine Grails d'agir comme un horodatage?

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

  •  23-09-2019
  •  | 
  •  

Question

J'ai une classe de domaine qui a deux dates et je veux un d'eux rempli avec l'heure actuelle quand un enregistrement est créé pour l'objet, comme un horodatage créer ...

class Contact {
    Date initiatedDate
    Date acceptedDate
}

Est-il suffisant juste pour un nouvel objet Date sur l'un d'eux et de faire l'autre annulable jusqu'au moment que je dois le remplir, un peu comme ça ...

class Contact {

    static constraints = 
    {
        acceptedDate(nullable:true)
    }

    Date initiatedDate = new Date()
    Date acceptedDate
}

J'expérimente, mais je voudrais savoir si c'est la bonne façon de s'y prendre ou s'il y a quelque chose de plus Grailsy ou GORMy je devrais faire, disons, une fonction init ou en modifiant la définition de l'objet de domaine d'avoir un par défaut, comme il le fait une id et version.

Merci

Était-ce utile?

La solution

Qu'est-ce que vous avez écrit devrait fonctionner, mais vous pouvez utiliser le Gorm la fonction de l'auto-timestamping en ajoutant simplement un champ:

class Contact {
    Date dateCreated
}

Si vous voulez garder vos propres noms pour les champs mêmes Grails docs aussi vous montrer comment utiliser les événements GORM pour définir des champs ou sur enregistrer la mise à jour.

HTH

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top