1问题:
映射框架不支持存储父子关系以及嵌入在其他文档中的文档。一般做法是将它们分开存储,并使用DBRef查阅文件。
注意:映射框架不处理级联操作。例如-如果我们触发存储在父级上,不会自动保存子级--如果我们也要保存子文件,则需要显式地触发对它的保存。
2声明周期事件
SpringDataMongoDB发布一些非常有用的生命周期事件,例如在转换之前,在保存之前,在保存之后,在加载之后和在转换之后。
3使用方法
要拦截其中一个事件,我们需要注册一个文摘映射EventListener并覆盖这里的一个方法。当事件被触发时,我们的侦听器将被调用,方法将被执行
4demol
(1)案例:保存用户信息(Email信息嵌套)

(2)在 实体进入转换提之前,我们可以监听onBeforeConvert事件

(3)将监听器注册到MogoConfig中,或在xml中配置该监听器

config中注册

xml配置方式
(4)自定义一个级联保存注解

(5)在自定义监听器中处理字段不必映射到实体中

(6)我们可以使用反射,在这些字段上使用回调


注意:字段上需要同时有DBRef注解和CascadeSave注解
(7)FieldCallback类中要检查子级是否有@Id注解

(8)测试

(9)查看数据库
