日期:2014-05-17  浏览次数:20700 次

service层删除节点包含子节点问题
树结构,删除节点时,先判断是否存在子节点.存在就抛出异常.问题是数据库里已经进行了主外键关联.即便不遍历全表,也能保证不误删.
我问写代码的说:外键有索引,不会很耗资源,并且是为了让用户看到错误提示.兄弟们听听你们的说法

------解决方案--------------------
这种情况一般不做外键吧? 只要你的代码里面有事务处理,就能够保证数据的完整性和一致性。
如果你非要用外键的话,那可能要记录下所有已经删除的节点及其结构,递归删除。
不过我觉得最好是加一个rootid的字段,这样就不会有这种问题了。