[英]Date format with Timestamp and Hibernate
我有一個帶有時間戳字段的實體,該字段與Oracle數據庫中的DATE列相對應。
@Entity
public class Order {
private Tiemstamp purchaseDate;
//more fields...
}
當我插入一行時,數據庫中的DATE格式為“ dd / MM / yyyy hh:mm:ss”,但我希望它僅為“ dd / MM / yyyy”。
如何定義格式?
要在Java
和Hibernate
中的Date
屬性中忽略time
,請將您的屬性聲明為java.util.Date
然后將其與@Type(type="date")
一起使用,或將@Temporal(TemporalType.DATE)
與它。
這是您需要的:
@Column
@Type(type="date")
private Date purchaseDate;
@Column
@Temporal(TemporalType.DATE)
private Date purchaseDate;
因為Timestamp
旨在同時保留date
和time
,而Date
僅保留date
。
有關更多詳細信息,請參閱HIBERNATE DATE VS TIMESTAMP文章 。
盡管Oracle數據類型稱為Date,但它始終存儲datetime。 Oracle數據庫沒有迄今為止沒有時間的唯一數據類型。 在Java中,請使用java.sql.Date,而不要使用Timestamp。 不用擔心,Hibernete使此處理成為安全透明的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.