我正在将Thingsboard与Postgresql一起使用
我想做的是通过直接访问内部数据库来获取资产ID。
thingsboard的模式有一个带有id字段的资产表。但它的id与UI的格式不同。
select id from asset;
1e8027e92ad5cd0b8faaf5b54912004
id
的类型是varchar(31(,它看起来不像UUID。
但我想从UI中获得92ad5cd0-027e-11e8-b8fa-af5b54912004
。
我该如何转换为它?
在ThingsBoard中,对于SQL数据库,UUID会在数据库内部进行修剪,并删除-字符。
看看这个util:org.thingsbard.server.common.data.UIDC转换器
fromTimeUUID((->将UUID转换为字符串(这个值可以在Postgresql中看到(
fromString((->将字符串转换为真正的UUID
public static UUID fromString(String src) {
return UUID.fromString(src.substring(7, 15) + "-" +
src.substring(3, 7) + "-1" +
src.substring(0, 3) + "-" +
src.substring(15, 19) + "-" +
src.substring(19));
}