目前项目中遇到个问题,不知道大家有没有更好的方式来解决。 主要是树形结构的差异比较的问题,我先描述下两张表的大概结构。table1 的结构:  id parentid
  1 null
  2 1
  3 1
  4 2
  5 2
  6 3table2 的结构
  id parentid
  1 null
  2 1
  7 1
  4 2
  5 2 我需要做的事情就我要两张表中 id=1 的结构树的结点是否有异同(就是子结点是否有差异),并且获得这些差异的结点。
  
 目前系统的大概架构是struts+spring+hibernate,数据库是mysql。我知道oracle 有递归的语法的实现,但是mysql好像没有这种语法。
我的想法是数据库的递归来把结点信息放到mysql的内存表中,可能需要两个存储过程,两个内存表来实现。最后比较两个内存表的差异来判断并获得有差异的结点。不知道这种想法在mysql是否可行。但是即使可行,个人也觉得不是很好。
 所以不论java代码级别的实现或者用mysql来实现,想知道大家的想法,大家帮帮忙,呵呵。