我有一个带有Timestamp字段的实体,该实体与Oracle数据库中的DATE列相对应。
@Entity
public class Order {
private Tiemstamp purchaseDate;
//more fields...
}
当我插入一行时,数据库中的DATE格式为“ dd / MM / yyyy hh:mm:ss”,但我希望它仅为“ dd / MM / yyyy”。
如何定义格式?
参考方案
要在time和Date的Java属性中忽略Hibernate,请将您的属性声明为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 Article。