Boot Spring Hibernate + JPA不返回数据库级别生成的列

问题描述

我的Spring Boot应用程序中具有以下实体,该实体由sql Server数据库支持

@Entity
@Table(name="people")
public class Person {
    @Id
    @GeneratedValue(strategy=TABLE)
    private Long id;
    
    @Column(
        columnDeFinition="datetime default current_timestamp",nullable=false,updatable=false,insertable = false
    )
    private String strTimestamp;
    // ...
}

使用JpaRepository调用保存会起作用,并且会生成ID,但是即使我立即使用新返回的ID调用getone调用(本机查询select * from people where id = ?,strTimestamp也为null,该列仍会出现空出。

有趣的是,如果我对以前插入的行的ID进行硬编码,它将返回该记录。

我想在插入后返回整行,因为我需要生成的列。

我怎么能做到这一点?

谢谢。

解决方法

将strTimestamp数据类型更改为java.util.Date并尝试。也使用@Temporal注释

@Temporal(TemporalType.TIMESTAMP)
@Column( columnDefinition="datetime default current_timestamp",nullable=false,updatable=false,insertable = false ) private String strTimestamp;