我必须在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;
}
}
同样,这只是一个想法,没有尝试过,如果它不起作用,也不会感到惊讶。