/ / Wie werden zwei java.sql.Dates in der Datenbanktabelle gespeichert, wenn sie abgeschnitten werden? - java, datenbank, datetime

Wie in java.sql.Date s in der Datenbanktabelle zwei speichern, wenn sie abgeschnitten werden? - Java, Datenbank, Datetime

Ich möchte in derselben Tabelle in verschiedenen Spalten speichern 2 java.sql.Date Objekte zu ihrer entsprechenden SQL-Datetime. Es funktioniert gut, aber die Stunden, Minuten und Sekunden werden abgeschnitten. Das ist im Javadoc dokumentiert.

Zum Beispiel mit dem Datum: 30.05.2009 14:33:21 Uhr Wenn in eine Tabelle eingefügt, wird es abgeschnitten 30.05.2009 12:00:00 Uhr .

Ich habe auch versucht, es als Timestamp zu speichern, aber ich kann nicht zwei Zeilen mit Timestamp-Format in derselben Tabelle haben.

Gibt es eine Problemumgehung oder etwas?

Antworten:

1 für die Antwort № 1

Für eine SQL-DATETIME-Spalte sollten Sie weiterhin eine Methode java.sql.Timestamp und die Methode statement.setTimestamp (int, java.sql.Timestamp) verwenden.

Die Timestamp-Klasse des JDBC-Treibers sollte sowohl den Spalten SQL DATETIME als auch SQL TIMESTAMP zugeordnet werden.


1 für die Antwort № 2

Warum können Sie nicht mehr als eine Zeile mit dem Timestamp-Format haben? Ich denke, Sie müssen dort etwas näher erläutern (was ist Ihr ORM, wenn überhaupt, und was ist Ihr Datenbankserver).

Jedenfalls können Sie entweder die Datumszeit in aufteilenjava.sql.Date und java.sql.Time und haben zwei oder mehr von jedem oder verwenden Sie java.sql.Timestamp, was die Zeitinformationen nicht durch das Design verliert. Sie sollten also wirklich prüfen, warum Sie dies nicht tun können habe mehr als einen Zeitstempel.