Ich bin neu in Hibernate und arbeite mit einer Oracle 10g-Datenbank. Wir haben Spalten, die Sie in unseren Tabellen, die den Typ TIMESTAMP WITH TIMEZONE
. Hibernate scheint das nicht zu unterstützen, diese Zuordnung direkt. Gibt es einen standard-Weg zu gehen?
InformationsquelleAutor | 2009-08-17
Ein Beispiel für einen UserType Speicherung von java.util.Kalender mit Zeit-zone Informationen finden Sie in diesem blog-post: http://www.joobik.com/2010/12/mapping-dates-and-time-zones-with.html
Aktualisiert link: joobik.com/2010/12/mapping-dates-and-time-zones-with.html
InformationsquelleAutor joobik
TIMESTAMP WITH TIMEZONE
ist Oracle-Erweiterung und wird daher nicht unterstützt werden von Hibernate aus der box. Sie haben zwei Optionen:1) Ändern Sie Ihre Tabelle Struktur zum speichern von timezone in einer separaten Spalte (wie VARCHAR2). Hibernate ist in der Lage, Karte von java.util.TimeZone als
timezone
Typ mittels seiner ID.2) Schreiben Sie eine eigene Klasse halten timestamp und Zeitzone und eine benutzerdefinierte UserType, die bestehen bleiben würden. Es wird ein CompositeUserType wenn Sie brauchen die Fähigkeit zur Nutzung seiner individuellen Eigenschaften (z.B. die Zeitzone oder der Zeitstempel) in Abfragen. Blick auf dieses Beispiel, um Sie zu erhalten begonnen, müssen Sie es ändern, um tatsächlich speichern die Zeitzone.
Nennen Sie es "SQL 2003-Erweiterung implementiert, die von Oracle". Es ist immer noch nicht unterstützt Hibernate
java.util.Kalender hält timestamp und Zeitzone Informationen. Daher Lösung durch joobik scheint besser zu mir.
InformationsquelleAutor ChssPly76