[英]How to convert TemporalType.TIMESTAMP to Date() in Java?
[英]TemporalType.TIMESTAMP whit java.util.Date don't function (hibernate version 3.2.7.ga)
我上課了
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "data_creazione")
private Date dataCreazione;
如果我將data_creazione上的db放在null上,則保存對象,我這樣做:
Date data=new Date();
newAccordo.setDataCreazione(data);
並且相反:
newAccordo.setDataCreazione(new Timestamp(data.getTime()));
但不會保存該對象。 我尋找查詢中的內容,並且是“ 2014-07-11 16:40:04”,這是正常的日期時間。 如果我手動將其工作。 在數據庫中,我嘗試放置日期時間和時間戳,但無論如何不要在數據庫中編寫。
如果我放:
@Temporal(TemporalType.TIME)
他在db中寫了日期和時間,但是當我在jsp中標記日期和時間后,我只能從util.date開始看到正確的時間和日期。 所以我不能使用這個騙局。 我認為問題可能出在休眠版本中。
你怎么看?
您需要這樣做:
Date data=new Date();
newAccordo.setDataCreazione(new Timestamp(data.getTime()); // data --> date ??
因為列類型是時間戳(yyyy-mm-dd HH:mm:ss。),而不是Date(yyyy-mm-dd)類型。 確保您導入
import java.sql.Timestamp;
import java.util.Date;
<property name="hbm2ddl.auto">update</property>
休眠設置為<property name="hbm2ddl.auto">update</property>
,這將自動更新列數據類型。
我通過從mysql生成時間戳來解決它。 無論如何,我認為這是我正在使用的舊休眠版本(3.2.7.ga)或Annotation版本(3.3.0.ga)的錯誤
無論如何,模型是
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "data_creazione")
private Date dataCreazione;
public Date getDataCreazione() {
return dataCreazione;
}
public void setDataCreazione(Date dataCreazione) {
this.dataCreazione = dataCreazione;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.