gpt4 book ai didi

java - 未使用 JPA 检索日期字段

转载 作者:行者123 更新时间:2023-12-02 10:43:39 24 4
gpt4 key购买 nike

我在 mysql 数据库中有一个名为 course 的表,其中包含以下列:

  • 列出项目
  • id - int 主键自增
  • 名称 - varchar(250)
  • start_date - 时间戳默认 now()

我定义了以下实体:

@Entity
@Table(name = "course")
public class Course {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@Column(name = "start_date")
@Temporal(TemporalType.DATE)
private Date startDate;

protected Course() {

}

public Course(String name) {
this.name = name;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Long getId() {
return id;
}

public Date getStartDate() {
return startDate;
}

}

因此数据库应该填充日期列。我使用 Spring data JPA 所以我的 dao 看起来像这样:

public interface CourseRepository extends CrudRepository<Course, Long> {

}

我创建一个新的类(class)实体(通过上面接受名称的构造函数):

courseRepository.save(new Course("Algebra"));

并将其保存到表中,看起来 id 列是自动递增的,但日期列为空,即使它现在定义为默认值。

最佳答案

您的start_date是一个时间戳,但您在模型中使用Date

改变

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

@Column(name = "start_date", nullable = false, updatable = false)
@CreationTimestamp
private Timestamp startDate; //import java.sql.Timestamp;

关于java - 未使用 JPA 检索日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52752133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com