Sql Server的rowversion数据类型可以作为乐观并发使用,我面临着在Dropwizard Jdbi项目中使用的问题(用Java编写)。我正面临着在Dropwizard Jdbi项目中使用的问题(用Java编写)。
目前,我正在使用下面这行代码将 rowversion sql server 数据类型转换为 java。这行代码写在DAO mapper中(mapper将数据库结果集转换为java模型。)
ByteArray version = getBytes("version")
请帮我找出处理这种类型情况的正确方法。
一个字节数组或一个无符号长。 8个字节是一个单调递增的整数的256基数表示。 这与大恩迪安(又称网络字节序)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)