2012-02-25 53 views
2

我需要在創建新的OperantionBank時自動將當前日期添加到我的數據庫中。 我正在使用Hibernate。 感謝如何使用Java/Hibernate在SQL中自動插入當前日期

import java.io.Serializable; 
import java.sql.Date; 
import javax.persistence.*; 
import org.hibernate.annotations.Generated; 
import org.hibernate.annotations.GenerationTime; 

@Entity 
public class OperationBank implements Serializable { 
private static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private Long id; 

private String wordring; 

private Double amount; 

@Generated(GenerationTime.ALWAYS) 
@Temporal(javax.persistence.TemporalType.DATE) 
private Date dateoperation = new java.sql.Date(new java.util.Date().getTime()); 

@OneToOne 
private Account account; 
+0

那麼,當你運行上面的代碼會發生什麼?它工作嗎?如果您收到任何例外情況,請發佈日誌。 – ManuPK 2012-02-25 05:51:25

+0

沒有例外,但我的sqldatabase中的col「date」由NULL填充。 – socrateisabot 2012-02-25 06:47:24

回答

3

雖然Emil H是正確的,我想補充一點,你也應該工作。

這很可能是因爲該列的名稱(您在評論中稱爲「日期」)與該字段的名稱(「dateoperation」)不匹配。

你既可以重命名字段/列,或添加註釋:

@Column(name = "date") 

另外請注意:你不必使用java.sql.Date,它應該java.util中工作。日期也是如此。

import java.util.Date; 
... 

@Column(name = "date") 
private Date dateoperation = new Date(); 
相關問題