数据库是oracle,相关SQL为 LAST_UPDATE_DATE DATE not null使用的注解为
private Date lastUpdateDate;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "LAST_UPDATE_DATE", nullable = false, length = 7)
public Date getLastUpdateDate() {
return this.lastUpdateDate;
}public void setLastUpdateDate(Date lastUpdateDate) {
this.lastUpdateDate = lastUpdateDate;
}按照网上一些帖子里说如果设置@Temporal(TemporalType.TIMESTAMP)为TemporalType.TIMESTAMP的话就会自己取数据库的值,不知道是否真的可以实现,我这样做了报下面的错(另外主要是不想用JAVA的系统时间)
,请大家帮忙。报错如下
org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.ssh.bean.UcsPipeline.lastUpdateDate; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.ssh.bean.UcsPipeline.lastUpdateDate
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:645)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
private Date lastUpdateDate;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "LAST_UPDATE_DATE", nullable = false, length = 7)
public Date getLastUpdateDate() {
return this.lastUpdateDate;
}public void setLastUpdateDate(Date lastUpdateDate) {
this.lastUpdateDate = lastUpdateDate;
}按照网上一些帖子里说如果设置@Temporal(TemporalType.TIMESTAMP)为TemporalType.TIMESTAMP的话就会自己取数据库的值,不知道是否真的可以实现,我这样做了报下面的错(另外主要是不想用JAVA的系统时间)
,请大家帮忙。报错如下
org.springframework.dao.DataIntegrityViolationException: not-null property references a null or transient value: com.ssh.bean.UcsPipeline.lastUpdateDate; nested exception is org.hibernate.PropertyValueException: not-null property references a null or transient value: com.ssh.bean.UcsPipeline.lastUpdateDate
org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:645)
org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
另一方面,我最近在看注解,觉得一个实体类文件+一个hbm.xml文件可以被单独的一个实独的注解类文件代替,这样也少了一大堆的hbm.xml配置文件,根据hbm.xml配置好像是可以实现使用数据库当前时间的,所以我想知道是否注解也可以实现,另外想知道是否注解可以完全代替hbm.xml配置文件实现它的所有功能
对应数据库类型应该是datetime型
你的数据库类型是date
那你注解的时候应该是@Temporal(TemporalType.DATE)
吧。先把这个改了再试试
然后网上查找的结果说改成@Temporal(TemporalType.TIMESTAMP)就可以了,现在试的还不行