在Spring Data Mongodb文档中持久化getter值



我有一个Model类,其中包含我编写的getter方法,我想在MongoDB上持久化并检索该值。我怎样才能做到这一点?

假设我有以下类,我希望持久化object1internalValue,即使internalValue不是类属性。

@Document
public class C {
private SomeObj object1;

public int getInternalValue() {
return object1.doSomething();
// Or, I could retrieve something totally unrelated
// return 42;
}
}

您应该有以下过程来完成:

  1. 创建一个服务
  2. 在服务中创建getInternalValue方法
  3. 创建与文档C相对应的存储库
  4. 在Service autowire Repository中,并将值保存在任何特定的文档字段中

这个问题有点老,但我碰巧正在寻找这个问题的答案,所以这是我提出的解决方案。

只需添加带有属性的AccessType注释,这样一个名为internalValue的字段也将被持久化,它也可以用于搜索操作。

@Document
public class C {
private SomeObj object1;
@AccessType(PROPERTY)
public int getInternalValue() {
return object1.doSomething();
// Or, I could retrieve something totally unrelated
// return 42;
}
}

最新更新