你的描述,应该是找直接父部门吧?一个SQL就可以搞定了的:
select * from 表 where id = (select parentid from 表 where dept='一部开发组')

解决方案 »

  1.   

    递归1)调用方法本身,2)有终止条件。Node 数据实体类
    所有数据存入到HashMap<Integer,Node> nodeCache,
               Node  searchRoot(Node node)
               {
                      Node parent = nodeCache.get(node.getParentId)
                       if(parent == null)
                      {
                              return node;
                      }                  
                     searchRoot(parent);
               }
      

  2.   

    额,不一定是3级哦,可能是5级6级这样,这个只能找到上级啊不是最上级
    道理一样的,能拿到上级,也一定能拿到上级的上级。大不了加一个递归或循环结束的条件:parentid='1'
      

  3.   

    去sql区问吧,不同数据库实现也不同