Je suis nouveau sur Hibernate et je travaille avec une base de données Oracle 10g. Nous avons des colonnes dans nos tables qui sont de type TIMESTAMP WITH TIMEZONE
. Hibernate ne semble pas supporter ce mapping directement. Existe-t-il un moyen standard de s'y prendre?Horodatage Hibernate avec Timezone
Répondre
TIMESTAMP WITH TIMEZONE
est l'extension Oracle et n'est donc pas prise en charge par Hibernate dès sa sortie de l'emballage. Vous avez deux options:
1) Modifiez la structure de votre table pour stocker le fuseau horaire dans une colonne séparée (comme VARCHAR2). Hibernate est capable de map java.util.TimeZone comme type timezone
en utilisant son identifiant.
2) écrire une classe personnalisée pour contenir à la fois l'horodatage et le fuseau horaire et un UserType personnalisé qui le persisterait. Il devra être un CompositeUserType si vous avez besoin de la possibilité d'utiliser ses propriétés individuelles (par exemple fuseau horaire ou timestamp) dans les requêtes. Regardez this example pour vous aider à démarrer; vous devrez le modifier pour stocker le fuseau horaire.
Un exemple d'un stockage UserType java.util.Calendar avec des informations de fuseau horaire est donnée dans ce billet de blog: http://www.joobik.com/2010/12/mapping-dates-and-time-zones-with.html
ne pas poster juste un lien sinon votre réponse est sans valeur si le lien se brise – sra
Lien mis à jour: http://www.joobik.com/2010/12/mapping-dates-and-time-zones-with.html –
- 1. Mise en correspondance hibernate pour "horodatage sans fuseau horaire" postgresql?
- 2. Django timezone mess
- 3. fmt: formatDate et timeZone
- 4. .NET 2.0 - Conversion TimeZone
- 5. log4j avec horodatage par entrée de journal
- 6. horodatage floue analyse syntaxique avec Python
- 7. Horodatage Log4J
- 8. Horodatage SSIS
- 9. Comment convertir un horodatage GMT en horodatage Unix (javascript)
- 10. TZ Multiple TimeZone sous Windows
- 11. informations dans .NET 2.0 TimeZone
- 12. Horodatage pendant MS Build
- 13. Définition d'une table avec sqlalchemy avec un horodatage mysql unix
- 14. Convertir en horodatage UTC
- 15. Django - Requête SQL - Horodatage
- 16. Hibernate logging avec log4j
- 17. Hibernate avec ZK
- 18. MySQL enum avec hibernate
- 19. Zero Downtime avec Hibernate
- 20. Horodatage Jboss Standard Out
- 21. Est-ce que java.util.Date utilise TimeZone?
- 22. ASP.net Webservice Date Paramètre Timezone Offset Problème
- 23. Quelle est la requête à imprimer avec horodatage en SQL?
- 24. Contrôle de version pour les binaires avec horodatage
- 25. MySQL Sélectionner les entrées avec horodatage après l'heure X
- 26. Opération sans transaction avec Hibernate
- 27. Hibernate Exemple OneToMany avec compositeKey
- 28. avec select double dans Hibernate
- 29. Horodatage MySQL uniquement lors de la création
- 30. Construction d'un horodatage étape par étape
Selon SQL dans un Nutshell par Kline et al, timestamp AVEC TIMEZONE est un type défini par SQL 2003. Ainsi, ce n'est pas une extension Oracle. –
Appelez-le "extension SQL 2003 implémentée par Oracle" puis. Il n'est toujours pas pris en charge par Hibernate – ChssPly76
java.util.Calendar contient à la fois des informations d'horodatage et de fuseau horaire. Par conséquent, la solution de joobik me semble meilleure. – sax