【问题标题】:Annotation value from application.propeties for @MongoEntity@MongoEntity 的 application.properties 中的注释值
【发布时间】:2021-10-04 13:09:20
【问题描述】:

我正在指定一个@MongoEntity 集合名称,如下所示:

@MongoEntity(collection = "collection_name_from_properties")

但我想从 application.properties 文件中指定它,就像我为类属性所做的那样:

@ConfigProperty(name = "application_property_param")
String myConfigParam;

我尝试过和春天一样的运气:

@MongoEntity(collection = "${collection_name_from_properties}")

关于如何实现它的任何想法?

【问题讨论】:

  • 据我所知这是不可能的,从属性文件中读取的关于此注释的唯一内容是数据库,而不是集合名称,为什么要使用动态集合名称?
  • @JavierToja 如果需要在 mongo db 上更改集合名称,我需要能够通过 application.properties 更新名称,而无需发布新版本的客户端。文档没有帮助。
  • 好吧,你唯一的选择是使用普通 POJOS 并将所有集合名称放在一个属性文件中,然后在你的 DAO 层为你的模型绑定每个集合名称和 POJO 类,但忘了使用华丽,只需简单的 mongo 客户端

标签: annotations quarkus


【解决方案1】:

@MongoEntity 是 Quarkus 的一个相对较新的功能,据我所知,使用 Panache 无法实现这一点。

如果您想使用 Panache,您可以做的最好的事情是暂时对所有集合名称进行硬编码,直到新的更新可能解决此问题。

不过,如果您需要更高级的 Mongo 操作,我建议您使用 Mongo 客户端。

【讨论】:

    猜你喜欢
    • 2020-08-17
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 2019-03-18
    • 2020-11-16
    • 2019-12-12
    • 2021-07-25
    相关资源
    最近更新 更多