如何使用 Java/Hibernate 在 SQL 中自动插入当前日期

soc*_*bot 3 java sql annotations hibernate date

当我创建一个新的操作银行时,我需要自动将当前日期添加到我的数据库中。我正在使用休眠。谢谢

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;
Run Code Online (Sandbox Code Playgroud)

elu*_*ode 5

虽然Emil H是正确的,但我想补充一点,你这样做也应该有效。

这不太可能是因为列的名称(您在评论中说它是“日期”)与字段的名称(“日期操作”)不匹配。

您可以重命名字段/列,或添加注释:

@Column(name = "date")
Run Code Online (Sandbox Code Playgroud)

另请注意:您不必使用java.sql.Date,它也应该与java.util.Date一起使用。

import java.util.Date;
...

@Column(name = "date")
private Date dateoperation = new Date();
Run Code Online (Sandbox Code Playgroud)