哪种Java数据类型适合处理SqlServer的rowversion数据类型?

时间:2020-05-01 14:32:14

标签: java sql-server dropwizard jdbi

Sql Server具有rowversion数据类型,可用作乐观并发。我面临在Dropwizard Jdbi项目(用Java编写)中使用的问题。

当前,我正在使用下面的代码行将Rowversion sql服务器数据类型转换为Java。此行用DAO映射器编写(映射器将数据库结果集转换为Java模型。)

ByteArray  version = getBytes("version")

请帮助我找出处理此类案件的正确方法。

1 个答案:

答案 0 :(得分:0)

字节数组或无符号长整数。 8个字节是单调递增的整数的base-256表示。与大端字节(aka网络字节顺序)64位无符号整数相同。

例如

use tempdb
go
drop table if exists t

create table t(id int identity, rv rowversion)

insert into t default values
insert into t default values
insert into t default values
insert into t default values


SELECT *, CAST(rv as bigint)
FROM T

输出

id          rv                 
----------- ------------------ --------------------
1           0x000000000000085E 2142
2           0x000000000000085F 2143
3           0x0000000000000860 2144
4           0x0000000000000861 2145

(4 rows affected)
相关问题