每次我从表单中保存数据。它总是首先来自DTO。
所以来自我的百里叶模板/控制器。我使用这种方法来保存我的实体
@RequestMapping(value = "/save",method = RequestMethod.POST)
public ModelAndView save(@ModelAttribute CollectionDTO collectionDTO){
Collection collection = collectionService.save(collectionDTO);
return new ModelAndView("redirect:/collection/view/"+collection.getId());
}
这是CollectionService.save
@Override
public Collection save(CollectionDTO collectionDTO) {
Collection collection;
if(collectionDTO.getId() != null){
collection = collectionRepo.findOne(collectionDTO.getId());
mapper.map(collectionDTO, collection);
}else{
collection = mapper.map(collectionDTO,Collection.class);
}
collection = collectionRepo.save(collection);
return collection;
}
mapper.map基本上将内容从DTO映射到模型。
Collection Entity有点像这样
public class Collection{
@Version
private long version;
}
我错过了什么吗?