【发布时间】:2017-10-19 12:55:44
【问题描述】:
在带有 spring data-jpa 的 spring boot 应用程序中,我们使用 hibernate 实现
当我们有一个包含子列表(一对多和 cascade.all)的父实体并且我们使用 dto 时,保存的策略是什么?
我们必须对child进行循环,与dto进行比较,如果有现有元素,则更新值,如果是新元素,则添加元素,如果已删除,则将其从列表中删除?
例子
Parent parent = repo.findById(Integer id);
//remove items who dont exit anymore
Childs childs = bean.getChild();
for (Iterator<Childs> iterator = childs.iterator(); iterator.hasNext();) {
//compare with dto...
}
for (ChildsDto childsDto : ChildsDto) {
if(childsDto==null){
//add new element in the list of childs of parent
}else{
update element in the list of childs of parent
}
}
【问题讨论】:
标签: hibernate jpa spring-data-jpa