[英]hibernate - making type of column in mysql only date and not datetime
我使用DATE類型的字段將日期存儲在mysql數據庫中:
@Temporal(TemporalType.DATE)
@Column(name="RECIEVING_DATE")
private Date recieving_date;
// getters and setters
但是當hibernate保存它時,date以datetime格式存儲,即它不只存儲2015-02-23而是2015-02-23 00:00:00。
我用於插入日期的代碼
String recieving_date = request.getParameter("recieving_date");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date ds = null;
try {
Date date = df.parse(recieving_date);
ds=new java.sql.Date(date.getTime());
} catch (ParseException e1) {
System.out.println("Exception occured in parsing date : "+e1);
}
doc_mvmnt.setRecieving_date(ds);
現在,我可以自己在數據庫中運行alter table query來更改類型,但這每次都會很痛苦。 我怎么能告訴休眠保持我想要的類型。 而且,如果可能的話,是否可以使用休眠定義varchar和整數的大小。 請幫忙
因為我看到你逝去的只是date part
的日期時間到recieving_date
和肯定的類型recieving_date
是java.sql.Date
(如你傳遞一個類型,它的日期),所以我覺得這些注解之一應該工作@Type(type="date")
或@Temporal(TemporalType.DATE)
,由於第二個方法不起作用,請嘗試另一個方法並給出反饋:
@Column(name="RECIEVING_DATE")
@Type(type="date")
private Date recieving_date;
// getters and setters
如果這樣做不能解決問題,請嘗試修改自定義格式的getter和setter方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.