我有個域對象和註解如下休眠註解,指定列的默認值
@Entity
@Table(name = "REQUEST")
public class Request {
/**
* Unique id for this request
*/
@Id
@GeneratedValue
@Column(name = "EQ_ID")
private long requestId;
/**
*
*/
@Column(name = "EMAIL_ID")
private String emailId;
/**
*
*/
@Column(name = "REQUEST_DATE")
private Date requestDate;
/**
*Getters/setters omitted
*/
}
列REQUEST_DATE不能爲空並且每DDL的默認值是SYSDATE(Oracle數據庫)。如何註釋此字段,以便如果requestDate屬性爲null,hiberanate會自動插入sysdate。目前它在該字段爲空時拋出錯誤,這非常明顯,因爲根據數據庫約束它不能爲空。我如何去做這件事? 一種替代方法是將此字段標記爲瞬態,並且插入正常工作。但是消極的一面是,我將無法檢索request_date列的值。
這是一個Web應用程序。上面的代碼將插入與sysdate不同的服務器時間(假設appserver和db在diff時區中)。同樣的代碼將在不同的開發服務器上運行,但都指向相同的數據庫實例。 – chedine 2010-08-05 09:53:25
@chedine:如果你有特定的限制,爲什麼不在問題中添加它們?你會更好的答案,人們不會浪費他們的時間建議一些不符合你的限制的東西... – 2010-08-05 10:00:20
可能是我的錯。無論如何,謝謝你的時間。 – chedine 2010-08-05 10:03:39