Sql Server具有rowversion数据类型,可用作乐观并发。我面临在Dropwizard Jdbi项目(用Java编写)中使用的问题。
当前,我正在使用下面的代码行将Rowversion sql服务器数据类型转换为Java。此行用DAO映射器编写(映射器将数据库结果集转换为Java模型。)
ByteArray version = getBytes("version")
请帮助我找出处理此类案件的正确方法。
答案 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)