1

我正在使用这段代码:

@Column(name = "FECHA_CREACION_TIMESTAMP",columnDefinition="DATE DEFAULT SYSDATE", insertable=false)
@Temporal(TemporalType.TIMESTAMP)
private Date fechaCreacionTimestamp; 

但是当我向表中插入一些数据时,它没有日期,只有像 null 这样的日期。

4

2 回答 2

2

更新答案:(现在我知道您使用的是 Oracle)

您需要确保该列不包含在插入语句中。为此,您需要更新您的@Column注释,例如:

@Column(..other properties.., insertable = false)

有关更多详细信息,请参见此处

现在,您还需要确保在执行insert. 如果您使用的是 Hibernate,并且不介意使用 Hibernate 注释,则可以将以下注释放在您的字段上。

@org.hibernate.annotations.Generated(org.hibernate.annotations.GenerationTime.INSERT)

Hibernate 将自动为您执行所需的select查询。

如果您不使用 Hibernate,则需要select在执行insert. JPA没有任何内容可以指定这应该自动完成。

于 2013-05-21T14:14:17.283 回答
0

你可以使用类似的东西:

@Column(name = "FECHA_CREACION_TIMESTAMP",columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP", insertable=false)
@Temporal(TemporalType.TIMESTAMP)
private Date fechaCreacionTimestamp; 
于 2017-07-10T06:31:47.907 回答