【问题标题】:How to auto insert Current DATE in SQL with Java / Hibernate如何使用 Java / Hibernate 在 SQL 中自动插入当前日期
【发布时间】:2012-03-15 13:00:35
【问题描述】:

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

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;

【问题讨论】:

  • 那么,当你运行上面的代码时会发生什么?它工作了吗?如果您遇到任何异常,请发布日志。
  • 没有例外,但是我的sql数据库中的col“日期”由NULL填充。

标签: java sql hibernate date annotations


【解决方案1】:

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

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

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

@Column(name = "date")

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

import java.util.Date;
...

@Column(name = "date")
private Date dateoperation = new Date();

【讨论】:

    【解决方案2】:

    这个答案可能会对你有所帮助:

    https://stackoverflow.com/a/221827/355499

    本质上,您使用@PrePersist 和/或@PreUpdate 注释在需要时生成日期。

    【讨论】:

      【解决方案3】:

      对于创建,您需要使用:

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

      【讨论】:

        【解决方案4】:

        只需使用:

        @CreatedDate
        @Temporal(TemporalType.DATE)
        @Column(name = "start_date")
        private Date startDate;
        

        【讨论】:

          【解决方案5】:

          试试这个作为输入 2004-05-19

          @Temporal(TemporalType.DATE)

          私人日历tryMe;

          【讨论】:

            猜你喜欢
            • 2018-08-21
            • 2011-12-20
            • 1970-01-01
            • 2015-05-13
            • 1970-01-01
            • 1970-01-01
            • 2015-09-02
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多