【发布时间】:2022-01-11 17:47:46
【问题描述】:
我认为我确实有一个简单的用例,但我正在努力让它与 MongoDB 一起使用。
我有一个 POJO,看起来像
public class Item {
@BsonRepresentation(value = BsonType.STRING)
private UUID id;
private String version;
// more..
// getter/setters
}
您会看到 POJO 的 id 指定为 UUID。但是 Bson 表示是一个字符串。
我尝试仅为 UUID 类编写自定义编解码器,但这并没有真正奏效。注册表看起来像
CodecRegistry codecRegistry = CodecRegistries.fromRegistries(
MongoClientSettings.getDefaultCodecRegistry(),
fromProviders(PojoCodecProvider.builder().automatic(true).build()),
CodecRegistries.fromCodecs(
new UuidCodec()
)
)
我想只为 UUID 情况而不是整个 Item 类编写编解码器。但我认为我真的走错了方向,我需要任何帮助。这应该如何实现?
【问题讨论】:
-
我认为这是 StringCodec 来自 uuid-creator 的案例。请阅读此wiki page。
标签: java mongodb uuid codec bson