Wie um die Karte timestamp-Spalte zu JPA-Typ?

Ich bin mit Spielen! 1.2.4 und PostgreSQL 9.1. Ich habe eine Tabelle erstellt mit einer created_at Spalte, Typ: timestamp without time zone. Es hat einen Standardwert von now().

Problem, wenn ich Daten abrufen über meine Entity-Klasse für die Tabelle. Die createdAt Feld kommt immer wieder null. Hier ist das Feld definition:

@Column(name="created_at", insertable=false)
public java.sql.Date createdAt;

Alle anderen Felder sind ordnungsgemäß gefüllt. Ich habe versucht, die änderung der Feld-Typ zu einem Date, Calendar, Timestamp usw., und habe versucht, das hinzufügen einer @Timestamp annotation. Aber keine Kombination hat sich als erfolgreich erwiesen.

Vielen Dank im Voraus für jede Hilfe!!!

Referenz, hier ist die DDL, die ich verwendet, um die Tabelle zu erstellen.

CREATE TABLE Users
(
  id serial     NOT NULL,
  username text NOT NULL,
  email text    NOT NULL,
  password_hash text NOT NULL DEFAULT 0,
  created_at timestamp without time zone DEFAULT now(),
  CONSTRAINT Users_pkey PRIMARY KEY (id),
  CONSTRAINT Users_username_key UNIQUE (username)
);

Update:
Ich denke, das problem hat zu tun mit der Verwendung von JPA auf einen Datensatz einfügen. Füllt die Datenbank einen default-Wert von now() für created_at, aber irgendwie Hibernate weiß nicht, über Sie beim abrufen der Zeile.

Wenn ich die Abfrage für eine Zeile, die bereits existierte, die createdAt Feld gefüllt ist korrekt!
OK... das engt das problem.

InformationsquelleAutor slattery | 2011-12-16
Schreibe einen Kommentar