Hibernate timestamp-version gesteuert durch die Datenbank.

Ich bin mit beiden Hibernate annotations und Sybase. Ich bin auf der Suche, um das setup eine Spalte "version" zu verhindern sperren. Die Datenbank braucht um die Administration der timestamp als auf die Anwendung. Ich möchte dies zu erreichen, mit Anmerkungen eher als hbm.xml.

Ich habe versucht, die folgenden ohne Erfolg,

Ich auf zu Lesen jboss.org verwenden

@org.hibernate.annotations.SourceType.DB
@org.hibernate.annotations.Generated(GenerationTime.ALWAYS)

aber ich bin immer ein IDE kompilieren Fehler für die DB
"cannot find symbol
symbol: class DB
Ort: Klasse SourceType"

und einen kompilieren Fehler für rowVersion,

Dem Version-Feld oder Eigenschaft ist nicht eine der unterstützten Typen. Stellen Sie sicher, dass es ist einer der folgenden Typen: int, Integer, short, Short, long, Long, java.sql.Timestamp.

Eines temporalen Attributs muß gekennzeichnet mit dem @Temporal-annotation.

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/mapping.html#d0e5785

5.1.3.2. Timestamp

Beispielcode

@Version
@org.hibernate.annotations.SourceType.DB
@org.hibernate.annotations.Generated(GenerationTime.ALWAYS)
@Column(name = "row_version")
private Date rowVersion;

public Date getRowVersion() {
    return rowVersion;
}

public void setRowVersion(Date rowVersion) {
    this.rowVersion = rowVersion;
}

Könnte mir jemand sagen was mir fehlt?

InformationsquelleAutor Code Junkie | 2012-10-12
Schreibe einen Kommentar