Java 无法将mssql时间戳列映射到hibernate

Java 无法将mssql时间戳列映射到hibernate,java,sql-server,hibernate,spring-boot,spring-data-jpa,Java,Sql Server,Hibernate,Spring Boot,Spring Data Jpa,我试图在mssql中读取一个时间戳列,该列存储在时间戳中,但它是十六进制类型的,我试图使用spring jpa hibernate映射它,但下面抛出的错误是我在hibernate中的列类型 @Temporal(TemporalType.TIMESTAMP) @Column( name ="last_upadtedon") private Date updatedon; 在尝试从表中读取时引发异常,我已经尝试了所有所需的方法,但对于如何在hibernate中读取时间戳列,似乎没有任何效

我试图在mssql中读取一个时间戳列,该列存储在时间戳中,但它是十六进制类型的,我试图使用spring jpa hibernate映射它,但下面抛出的错误是我在hibernate中的列类型

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

在尝试从表中读取时引发异常,我已经尝试了所有所需的方法,但对于如何在hibernate中读取时间戳列,似乎没有任何效果。我在这里遗漏了什么

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

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

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


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

时间戳|字节[]


时间戳数据类型是SQL Server,它实际上是二进制版本,与日期或时间无关。列名
last\u updatedon
表明使用了错误的列数据类型。可能应该是datetime或datetime2。您也可以共享堆栈跟踪吗?