J'ai une colonne Type de date dans Oracle DB et contient la date et l'heure à coup sûr. Mais lorsque j'essaie d'obtenir des données dans l'application Java, la date de retournera avec la bande de zéros au lieu de temps réel. Dans Code, ce sera comme suit:
SQLQuery sqlQuery = session.createSQLQuery("SELECT table.id, table.date FROM table");
List<Object[]> resultArray = sqlQuery.list();
Date date = (Date)resultArray[1];
9 Réponses :
Je ne suis pas un expert avec Oracle, mais vous avez probablement besoin d'un type de colonne code> DateTime de code> pour obtenir un horodatage. P>
Avec cela, vous devez utiliser Java.SQL.TMESTAMP code> JDBC Type. P>
Dans Oracle, la date code> DataType contient des informations de date et heure, beaucoup comme java.lang.date code>.
Essayez ceci:
session.createSQLQuery("SELECT table.id as i, table.date as d FROM table")
.addScalar("i", Hibernate.LONG) // Or whatever type id is
.addScalar("d", Hibernate.TIMESTAMP);
Merci. Maintenant ça marche. Mais je déteste le fait que je devrais définir des types pour tous les paramètres retournés là-bas. J'ai beaucoup d'entre eux ...
Vous pouvez essayer un dialecte personnalisé. La dialecte de base indique "Register les types d'hibernate d'utilisation par défaut dans la détection automatique de type SQLQUERY SCALAR SQLQUERY".
Peut-être que vous avez
J'ai eu le même problème (type de date d'oracle dans la base de données).
Le mappage suivant fonctionne pour moi: p>
J'ai rencontré cette question dans le passé aussi. Pour le résoudre, changez votre cartographie hibernate de: à p> Vous pouvez laisser le type de données dans votre objet hibernate comme java. util.date. p> p>
Ouais, il fonctionne aussi bien hibernate 3.3, utilisez OJDBC6.jar et en annotation change la date à l'horodatage
comme ci-dessous
Comme d'autres personnes déjà indiquées, vous devez utiliser Toutefois, si vous utilisez le java.sql.timestamp code> pour obtenir le temps. @Temporal (temporaltype.timetamp) < / Code> Annotation sur la colonne Date d'Oracle, Hibernate se plaindre et lancera des erreurs de validation de schéma. Pour éviter ceux-ci, ajoutez un colonneDefinition code> comme ceci: p>
Je ne peux pas uplifier cela assez! Cela devrait être la réponse acceptée!
J'étais dans le même problème récemment. Voici mon approche ...
Donc, dans ce cas, définissez une Veuillez trouver le code exemple ci-dessous: p> espère que cela aide cela aide. p> RAKESH. P> P>
Peut-être un peu tard, mais dans mon cas, la solution était de simplement ajouter @Temporal (temporaltype.date) à mon champ de date.
@Type(type = "date") private Date date;