我正在使用此代码:
@Column(name = "FECHA_CREACION_TIMESTAMP",columnDefinition="DATE DEFAULT SYSDATE", insertable=false)
@Temporal(TemporalType.TIMESTAMP)
private Date fechaCreacionTimestamp;
但是当我向表中插入一些数据时,它没有日期,只有类似 null 的日期。
最佳答案
更新答案:(现在我知道您正在使用 Oracle)
您需要确保该列不包含在插入语句中。为此,您需要更新您的 @Column
注释,例如:
@Column(..other properties.., insertable = false)
参见here了解更多详情。
现在,您还需要确保执行插入
后生成的值在您的域对象中可用。如果您正在使用 Hibernate,并且不介意使用 Hibernate 注释,您可以将以下注释放在您的字段上。
@org.hibernate.annotations.Generated(org.hibernate.annotations.GenerationTime.INSERT)
Hibernate 将自动为您执行所需的 select
查询。
如果您没有使用 Hibernate,则需要在执行插入
后自行进行选择
以获取生成的值。 JPA
没有任何内容来指定这应该自动完成。
关于java - columnDefinition ="DATE DEFAULT SYSDATE",不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16672034/