簡體   English   中英

帶時間戳和休眠的日期格式

[英]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”。

如何定義格式?

要在JavaHibernate中的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旨在同時保留datetime ,而Date僅保留date

有關更多詳細信息,請參閱HIBERNATE DATE VS TIMESTAMP文章

盡管Oracle數據類型稱為Date,但它始終存儲datetime。 Oracle數據庫沒有迄今為止沒有時間的唯一數據類型。 在Java中,請使用java.sql.Date,而不要使用Timestamp。 不用擔心,Hibernete使此處理成為安全透明的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM