我有 2 个实体需要保存在两个不同的数据库中:
1) MyClassMetaData - 在春季通过 jpa+hibernate 持久化在 mysql (entityManager)
2) MyClassRawData - 通过 spring 数据 (mongoTemplate) 在 mongoDB 上持久化
两个实体之间存在一对一关系:只有一个实体在没有另一个实体的情况下被持久化是没有意义的。每次保存都会有元数据和原始数据。
我保存这两个实体的服务如下所示
@Transactional
public void saveMyClass(metadata, rawdata){
// Do Something here
this.entityManager.persist(metadata);
this.mongoTemplate.save(rawData);
}
我的问题是:我如何确保如果此保存方法发生错误 - 两个类都会发生回滚?
谢谢