spring中的sql数据转换

qaxu7uf2  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(277)

我对spring还不熟悉,当我使用长数据类型(用于存储时间戳)时,它在sql中被转换为中文本,这在我的代码中造成了一些问题。有什么解决办法吗?前任:

@Column(columnDefinition = "long default 0")
private long loginfailedtime;

@Column(columnDefinition = "long default 0")
private long lastlogintime;

@Column(columnDefinition = "long default 0")
private long otp_timestamp;

在此处输入图像描述

6yjfywim

6yjfywim1#

因为您要存储的值是time,所以我建议使用date类型的instance。

@Column(columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")   
    private Date loginfailedtime;
    @Column(columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")   
    private Date lastlogintime;
    @Column(columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")   
    private Date otp_timestamp;

另外,如果要使用long,则在列定义中使用long,其中应该提到与表对应的数据类型。
columndefinition:为列生成ddl时使用的sql片段。
例如,

@Column(name="EMP_PIC", columnDefinition="BLOB NOT NULL")

在Java8中,我们提供了以下Map。

@Column(name = "local_time", columnDefinition = "TIME")
private LocalTime localTime;

@Column(name = "local_date", columnDefinition = "DATE")
private LocalDate localDate;

@Column(name = "local_date_time", columnDefinition = "TIMESTAMP")
private LocalDateTime localDateTime;

在这里探索更多=>https://www.baeldung.com/jpa-java-time

相关问题