Pour une certaine entité Hibernate, nous avons besoin de stocker son heure de création et la dernière fois qu'elle a été mise à jour. Comment concevez-vous cela ?
-
Quels types de données utiliseriez-vous dans la base de données (en supposant MySQL, éventuellement dans un fuseau horaire différent de celui de la JVM) ? Les types de données tiendront-ils compte du fuseau horaire ?
-
Quels types de données utiliseriez-vous en Java (
Date
,Calendar
,long
, ...) ? -
Qui serait responsable de la définition des horodatages - la base de données, le cadre ORM (Hibernate) ou le programmeur de l'application ?
-
Quelles annotations utiliseriez-vous pour le mappage (par ex.
@Temporal
) ?
Je ne cherche pas seulement une solution qui fonctionne, mais une solution sûre et bien conçue.
0 votes
Je pense qu'il est préférable d'utiliser LocalDateTime au lieu de Date périmée dans les entités Java. De plus, la base de données ne devrait pas être consciente du fuseau horaire, ce qui cause de nombreux problèmes lors de la migration des données. J'utiliserais donc le type SQL datetime.