微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。