Spring数据MongoDB:将子类保存为超类

时间:2017-05-12 17:27:47

标签: java spring mongodb inheritance spring-data

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将不再需要。但这会让我的域模型类膨胀很多不属于它的字段。

0 个答案:

没有答案