- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
public Dir delete(){
MorphiaQuery dirs = getDirList(); //Получаем подпапки
if(dirs != null){
Iterator<Dir> list = dirs.iterator();
while(list.hasNext()){
list.next().delete(); //Снова вызываем public Dir delete()
}
}
return super.delete(); //Удаляем саму папку
}
Steve_Brown 21.12.2012 12:55 # 0
haker 21.12.2012 13:03 # 0
Dummy00001 21.12.2012 19:30 # +2
я как-то раз делал через простую аггрегацию: идентификаторы собирал в списки по номеру уровня, потом удалял батчами начиная с самого низкого уровня, что бы констрэйны не жаловались.
> а потом сделать это грамотно
по моему опыту, в случае работы с базами и проблем производительности "а потом" очень часто оказывается слишком поздно.
базы имеют конкретные способности с заранее известными параметрами производительности - их и надо использовать как основу для дизайна. а не наоборот. в оссобености если заранее известно что размер данных будет большим.
OCEHHuu_nemyx 16.10.2020 13:55 # 0
eth0 21.12.2012 19:15 # 0
haker 21.12.2012 20:10 # 0
haker 21.12.2012 20:11 # 0
eth0 21.12.2012 20:25 # 0
bormand 21.12.2012 20:28 # 0
haker 21.12.2012 20:52 # 0