如何使用java在Oracle sql中存储目录结构

时间:2011-06-27 05:51:48

标签: java sql oracle tree structure

我想将目录/树结构存储到java代码的后端。任何人都可以指导我哪种方式更好地将树结构存储到数据库,这里树结构不是动态结构。

3 个答案:

答案 0 :(得分:2)

我建议以复合方式存储。一个家长很多孩子。

ID        Name         parentId
1         parent1      0
2         child11      1
3         child12      1
4         parent2      0
5         child21      4

这是存储结果的最简单方法。

目录结构看起来像。

+parent1
    - child11
    - child12
+patent2
    - child21

答案 1 :(得分:1)

我同意DB中的文件夹结构表示。

但是我对如何在Java中解析这个结构感到困惑。例如,我有以下数据结构:

  • 目录
    • 伦敦
      • FlatFiles
        • HOST
          • 主机A
          • 主机B
          • HostC
      • FlatFiles
        • HOST
          • 主机A
          • 主机B
          • HostC
  • 模板
    • 伦敦
      • FlatFiles
        • HOST
          • 主机A
          • 主机B
          • HostC
      • FlatFiles
        • HOST
          • 主机A
          • 主机B
          • HostC

我有一个数据,我必须将文件与定义下的HostC和位置作为欧洲关联,那么如何做到这一点。 如果我通过Hibernate查询整个表,我会得到一个Directory Struture列表如下:

(1,NULL,RS Root)

(3,1,目录)

(4,1,模板)

(6,3,伦敦)

(7,6,平面文件)

(10,7,主机)

(12,10,玉簪)

(13,10,主机B)

(14,10,HostTC)

因此,如果我搜索HostC,我将根据源位置(伦敦,欧洲)和类型(模板,定义)获得许多结果

我应该如何遍历它并获得正确的分支

答案 2 :(得分:0)

使用JSON,Json对象可以用作带有java的内存结构。当您需要在oracle中持久化时将其转换为jsonString并插入其中一个varChar2列。

JASON-LIB支持从String(即存储在数据库中)和反向

创建树结构

Json-Lib