我有以下的数据库列:尽管设置了默认值,但获取了非空错误。
`last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
在Hibernate中,下面的映射:
@Temporal(TemporalType.TIMESTAMP)
@Column(name="last_modified", nullable=false, length=19)
public Date getLastModified() {
return this.lastModified;
}
这一直是个工作的罚款,但现在突然冒出我收到以下错误:
javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value: com.fs.model.BrowserHistory.lastModified
所以我想知道,为什么这种情况突然发生?如果我将lastModified字段设置为空可以吗?
你确实设置了属性? Hibernate将在持续之前验证。你在表定义中定义了一个默认值并不重要。 – Bart 2013-04-26 14:31:55
@Bart,不,它是一个数据库生成的属性,所以我不应该设置它。我想我在hibernate文档中找到了一个解决方案并发布了一个答案。 – Osman 2013-04-26 21:19:58