java - 如何访问注释中的属性值?

标签 java spring-data-mongodb spring-data-rest

我有一个对应于 mongo 文档的模型类:

@Document(collection="GRADE_KN")
public class Grade {

    @Id
    private String id;

    private String name;
...

}

如您所见,我将文档名称硬编码为“GRADE_KN”。我想将其移至属性文件。

例如:

application.properties中:

mongo.collection.name=GRADE_KN

一般我们使用@Value注释来访问属性。但在这种情况下似乎不起作用。

但是如何使用 @Document 访问属性注释。

请澄清。

最佳答案

我也遇到了同样的问题,显然这是不可能的。 @Document 和其他注释几乎与属性解析同时完成。

所以,我们能做的是, 有一个父类(super class),具有其他模型所需的所有公共(public)属性。

然后对于所有子类模型,根据需要分配 @Document 和特定集合名称。

底线是,集合名称不能动态分配。

希望这有帮助。干杯!!!

关于java - 如何访问注释中的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138869/

相关文章:

java - 什么时候应该在 Java 中使用本地类?

java - 如何读取同一包内的文件

mongodb - Spring Data Mongodb 事务期间如何使用文档锁来防止外部修改记录

java - Spring Data MongoDB 4.0 事务支持

java - 将链接添加到投影的嵌套对象中

java - 为什么我的LibGDX项目没有从Overlap2D运行时看到Overlap2DStage类,即使我将其添加为Gradle依赖项也是如此?

java - 如何在 spring 数据中使用 elemMatch 为嵌套对象从 mongodb 检索数据

java - Spring 数据 : Create entities (and DB entries) using boolean fields of another entity

hibernate - Spring 数据休息 : "Date is null" query throws an postgres exception

java - Java泛型中类型参数的前向引用