我有一个SQLServer,我正在使用hibernate将实体映射到我已经拥有的表。
该表有一个“timestamp”[field_date] timestamp NOT NULL
类型的字段,这是该表唯一的日期。
我已经尝试将它映射到像这样的实体:
@Column(name="field_date")
private Date date;
甚至
@Column(name="field_date",columnDefinition="TIMESTAMP")
private Date date;
但每次我尝试对该实体执行select时,都会得到类型为
的SQLServerException Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from timestamp to TIMESTAMP is unsupported.
答案 0 :(得分:6)
1)尝试将其映射到Java类java.sql.Timestamp。
http://docs.oracle.com/javase/7/docs/api/java/sql/Timestamp.html
此外,我会尝试从您的注释中删除它
columnDefinition = “时间戳”
2)这是另一个尝试的映射 所以,你也可以尝试这种方法。
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CreatedOn", nullable = false)
public Date getCreatedOn() {
return this.createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
3)这就像2)但是如果你想要的话就可以使用它 类字段的映射(不适用于getter)。
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "Last_Updated_Date", nullable=false)
private Date lastUpdatedDate;