mongodb 使用quarkus和panache在pojo编解码器提供程序中注册包

hrirmatl  于 2023-03-01  发布在  Go
关注(0)|答案(1)|浏览(134)

我遇到了here描述的问题,因此需要在PojoCodecProvider中注册包含我的模型的包。我尝试了如下操作:

@ApplicationScoped
class AppLifecycleBean {
    fun onStart(@Observes ev: StartupEvent) {
        MongoClientSettings.builder().codecRegistry(
            CodecRegistries.fromRegistries(
                MongoClientSettings.getDefaultCodecRegistry(),
                fromProviders(
                    PojoCodecProvider.builder()
                        .register("src/main/java/model").automatic(true).build()
                )
            )
        ).build()
    }
}

但是没有成功。可能是因为我之后没有使用编解码器注册表。但是我不知道如何将其传递到我的panache存储库:

@ApplicationScoped
class EntityRepository : ReactivePanacheMongoRepository<Entity> {

}

是否可以将新配置注入panache,或者我需要用这个配置示例化我自己的mongo客户机?

vjrehmav

vjrehmav1#

所以我仍然无法注册这些类(并且仍然很乐意了解它是如何完成的)。但我发现,如果我使用类名作为区分器,而不是使用全限定名作为区分器,因为这是默认行为,那么在没有写入之前,区分器也可以工作。

相关问题