1.Entity中配置
@Field("version") @Version private Long version ;@Version 的包引用为
org.springframework.data.annotation.Version
类型需要为对象类Long,不能为long
2.repository中需要extends MongoRepository
MongoRepository
3.serviceImpl中配置
方法上加上@Transactional标签
@Transactional
如果是新entity,则使用insert
this.userBuyCourseRepository.insert(userBuyCourseEntity) ;
UserBuyCourseEntity checkEntity =this.userBuyCourseRepository.findOne(userBuyCourseEntity.getAccountJoinTimeJoinCourse()) ;
userBuyCourseEntity.setVersion(checkEntity.getVersion()); //必须设置version,因为转化过来的userBuyCourseEntity无verison值,mongo认为version为null,则为insert操作,
这样违背了update愿意 if(checkEntity!=null){this.userBuyCourseRepository.save(userBuyCourseEntity) ; }