由于业务需求,需要在一个树形结构中删除叶子,防止误操作,不允许直接删除非叶子节点,同时节点删除是设置删除字段.不是直接delete.所以 第一想到用递归,将判断和删除(修改节点状态) 封装到service 方法中.但是在service层直接自己调自己是否会引起一系列问题:
1.是否会出现线程不安全
2.是否会出现递归导致性能变得很差求大神指导.

解决方案 »

  1.   

    你说的解决方法不错,但会不会太简单粗暴了
    我开始想到的是这个,但想换成优雅点的编码
    但对封装到service 方法 是否安全有这一考虑?还不是很明白
      

  2.   

    你说的解决方法不错,但会不会太简单粗暴了
    我开始想到的是这个,但想换成优雅点的编码
    但对封装到service 方法 是否安全有这一考虑?还不是很明白循环要比你的递归强好多,你的递归也是在循环。
      

  3.   

    有树结构这样的,个人建议够着path  在path中做,增加同级,增加下级,或者删除同级,删除同级和下级,更容易处理