忽略父类字段序列化



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

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

Spring Data 按预期从 ExternalLibraryClass 序列化 eventContainer 字段。如何强制忽略此字段?

您应该能够使用自定义转换器来做到这一点。像这样的东西

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;
  }
}

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

最新更新