B类是A类的子类。
我有一个B类的对象。但是,我只需要将A类的字段保存到MongoDB。
当我使用Spring Data存储库执行以下操作时:
repository.save( (A) b )
然而,这将导致B的所有字段保存到MongoDB和" _class"领域是" B"。
如何实现B类对象将被保存为MongoDB的A类对象?
修改:背景:
这些课程如下:
class A {
@Id
private ObjectId id;
private String property;
/* more properties, setters & getters */
}
class B extends A {
private String additionalProperty;
/* more properties, setters & getters */
}
我仅将B类用作控制器方法的@RequestParam
,因为它需要additionalProperty
来处理请求。之后,该程序将仅与A类一起工作。当然,我可以使用单个类并注释所有后续字段,以后@Transient
将不再需要。但这会让我的域模型类膨胀很多不属于它的字段。