爲什麼要使用sysdate
?它的語法與數據庫相關,也取決於數據庫託管機器的時鐘,而不是應用程序託管機器的時鐘。
最簡單的方法是使用java.util.Date
作爲expiryDate
的類型和值new Date(System.currentTimeInMillis() + 1000)
。在字段的聲明中使用此值將其作爲新的Student
創建時的默認值,或在修改existant Student
時將其用作傳遞給設置者的值。
public class Student {
...
/**
* Using java.util.Date here. Hibernate knows to convert it automagically to java.sql.Date.
* Set default value to current time + 1 second, if this is your requirement.
*/
private Date expiryDate = new Date(System.currentTimeInMillis() + 1000);
public void setExpiryDate(final Date expiryDate) {
this.expiryDate = expiryDate;
}
...
}
只是一個想法:你可以將它保存爲空,並且默認DB上的值爲sysdate + 1000。我不確定你是否可以聲明這是表結構的一部分,或者如果你可能需要設置一個插入/更新觸發器 – Augusto
我想用jpa本身而不是在桌子上做。因爲這1000可以改變。 1000是一種長型。所以我該怎麼做 – user2622132