Maison >base de données >tutoriel mysql >Comment stocker correctement les objets de date Java dans les colonnes MySQL DATETIME à l'aide de JPA ?
Stockage de la date Java dans MySQL DATETIME avec JPA
Pour stocker efficacement un objet Java Date dans une colonne MySQL DATETIME à l'aide de JPA (Hibernate), vous devez prendre en compte le comportement par défaut du JPA d'Hibernate implémentation.
Problème :
Lors de l'insertion directe d'un objet Java Date dans une colonne DATETIME, Hibernate peut uniquement stocker la partie date et ignorer le composant heure, ce qui entraîne un valeur comme "2009-09-22 00:00:00" dans MySQL.
Solution :
Pour conserver les informations de date et d'heure, vous devez convertir l'objet Java Date en une représentation sous forme de chaîne conforme au format MySQL DATETIME. ("aaaa-MM-jj HH:mm:ss"). Voici comment y parvenir :
java.util.Date dt = new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(dt);
Lors de l'exécution l'opération de persistance JPA, assurez-vous de définir la valeur de la colonne DATETIME sur la chaîne formatée obtenue à l'étape 3. Hibernate la mappera alors correctement au format MySQL DATETIME.
En suivant cette approche, vous pouvez stocker les deux les composants de date et d'heure des objets Java Date dans les colonnes MySQL DATETIME, garantissant une représentation et une manipulation précises des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!