Cette annotation doit être spécifiée pour les champs persistants ou les propriétés de type java.util.Date
et java.util.Calendar
. Il ne peut être spécifié que pour les champs ou propriétés de ces types.
L' Temporal
annotation peut être utilisée conjointement avec l' Basic
annotation, l' Id
annotation ou l' ElementCollection
annotation (lorsque la valeur de la collection d'élément est d'un tel type temporel.
Dans les API Java simples, la précision temporelle de l'heure n'est pas définie. Lorsque vous traitez des données temporelles, vous souhaiterez peut-être décrire la précision attendue dans la base de données. Les données temporelles peuvent avoir une précision DATE, TIME ou TIMESTAMP (c'est-à-dire la date réelle, uniquement l'heure ou les deux). Utilisez l' @Temporal
annotation pour affiner cela.
Les données temporelles sont les données liées au temps. Par exemple, dans un système de gestion de contenu, la date de création et la date de dernière mise à jour d'un article sont des données temporelles. Dans certains cas, les données temporelles ont besoin de précision et vous souhaitez stocker une date / heure précise ou les deux ( TIMESTAMP
) dans la table de la base de données.
La précision temporelle n'est pas spécifiée dans les API Java principales. @Temporal
est une JPA
annotation qui convertit dans les deux sens entre horodatage et java.util.Date
. Il se convertit également time-stamp
en temps. Par exemple, dans l'extrait de code ci-dessous, @Temporal(TemporalType.DATE)
supprime la valeur de l'heure et ne conserve que la date .
@Temporal(TemporalType.DATE)
private java.util.Date creationDate;
Selon javadocs,
Annotation pour déclarer un {@code TemporalType} approprié sur les paramètres de la méthode de requête. Notez que cette annotation ne peut être utilisée que sur les paramètres de type {@link Date} par défautTemporalType.DATE
[Informations ci-dessus recueillies auprès de diverses sources]