忽略父类字段序列化

时间:2014-12-12 13:17:31

标签: mongodb spring-data spring-data-mongodb

我必须在Mongo中存储一些必须从外部库(jar)继承自类的文档:

public class ExternalLibraryClass {
  private EventContainer eventContainer;
}

public class MyDocument extends ExternalLibraryClass {
  private String firstName;
  private String lastName;
}

Spring Data按预期从ExternalLibraryClass序列化 eventContainer 字段。我怎么强迫忽略这个领域?

1 个答案:

答案 0 :(得分:0)

您应该可以使用custom converters来完成此操作。像这样的东西

public class MyDocumentConverter implements Converter<MyDocument, DBObject> {

  public DBObject convert(MyDocument source) {
    DBObject dbo = new BasicDBObject();
    dbo.put("firstName", source.getFirstName());
    dbo.put("lastName", source.getLastName());
    return dbo;
  }
}

修改

无法保证此功能可行,但更好的方法是为ExternalLibraryClass创建转换器,并忽略eventContainer

public class ExternalLibraryClassConverter implements Converter<ExternalLibraryClass, DBObject> {

    public DBObject convert(ExternalLibraryClass source) {
        DBObject dbo = new BasicDBObject();
    return dbo;
  }
}

同样,这只是一个想法,没有尝试过,如果它不起作用也不会感到惊讶。