无法将mssql时间戳列映射到休眠状态

时间:2019-07-07 13:39:47

标签: java sql-server hibernate spring-boot spring-data-jpa

我正试图读取存储在时间戳中的mssql中的时间戳列,但它是十六进制类型,我正尝试使用spring jpa hibernate映射它,但它在我的列类型中抛出了错误,处于休眠状态

@Temporal(TemporalType.TIMESTAMP)
@Column( name ="last_upadtedon")
private Date  updatedon;    

在尝试从表中读取时抛出异常,我已经尝试了所有所需的方法,但是对于我如何在休眠状态下读取时间戳列似乎没有任何作用。我在这里想念什么

1 个答案:

答案 0 :(得分:1)

SQL Server时间戳与其他时间戳不同。您应该改用DATETIME2

  

rowversion

     

是一种数据类型,它公开了数据库中自动生成的唯一二进制数。 rowversion通常用作版本标记表行的机制。存储大小为8个字节。 rowversion数据类型只是一个递增数字,并不保留日期或时间。 要记录日期或时间,请使用datetime2数据类型。

     

不建议使用时间戳语法。此功能处于维护模式,并且可能在将来的Microsoft SQL Server版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。


  

SQL Server Data Type Mappings

     

SQL Server数据库引擎类型| .NET Framework类型

     

时间戳|字节[]