Frage

Also ich bin mit Hibernate und die Arbeit mit einer Anwendung, die Zeit verwaltet. Was ist der beste Weg, um mit Zeiten in einer 24-Stunden-Uhr zu tun?

Ich brauche nicht über Time-Zone Probleme zu Beginn dieser Anwendung sorgen, aber es wäre am besten, um sicherzustellen, dass diese Funktionalität wird am Anfang eingebaut.

Ich verwende auch überwintern, wie ein FYI

War es hilfreich?

Lösung

Speichern Sie sie so lange ts = System.currentTimeMillis (). Das Format ist eigentlich Time-Zone-sicher, da es Zeit in UTC zurück.

Wenn Sie nur Zeit Teil benötigen, na ja, ich bin mir nicht bewusst eingebauter Typ in Hib, aber Ihre eigene Art TIME24 schreibt, ist trivial - nur entweder implementieren org.hibernate.UserType oder org.hibernate.CompositeUserType ( load = nullSafeGet und store = nullSafeSet Methoden in ihnen).

Siehe http: //docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-custom

Aber ich würde immer noch die absolute Zeit sowieso sparen. kann helfen, in der Zukunft.

P. S. Das ist alles, vorausgesetzt, speichert Datum außer Frage aus irgendeinem Grund. Time-Zone in Datum wird manchmal in der Art und Weise, wirklich. ;)

Andere Tipps

Ich würde vorschlagen, Sie suchen in mit Joda, http://joda-time.sourceforge.net/ , die als die Kern Datum und Kalender-Implementierungen Handhabung Funktionalität viel intuitiver und kontrollierbare Zeit bietet. 310 JSR ist eigentlich ein Satz einen neuen Zeit-API in Java zählen 7, die weitgehend auf Joda basieren wird. Joda bietet sowohl auch Zeitzone abhängig Zeit Handhabung und Zeitzone unabhängige Zeitbehandlung, die Schwierigkeiten erleichtert, wenn sie mit Abständen zu tun.

Gibt es etwas falsch mit der Verwendung von java.util.Date?

java.util.Date verwendet werden sollte; nicht lange (und auf jeden Fall ein Calendar nicht).

Wenn Sie mit Anmerkungen sicher sein @Temporal verwenden

Ich fand auch eine andere Bibliothek vor kurzem, die eine Antwort auf JODA zu sein scheint. http://www.date4j.net/

Die Vorteile auf der Projekt-Homepage aufgelistet sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top