0
私は2つのテーブルユニットとunit_hierを持っています。単位テーブルにはいくつかの静的データが含まれ、unit_hierテーブルには階層関係が含まれます。Javaで階層内のSQLテーブルデータを表示する方法
**UNIT TABLE**
UNIT_ID UNIT_NAME DESC
1 Test1 Test 1
2 Test2 Test 2
3 Test3 Test 3
4 Test4 Test 4
5 Test5 Test 5
6 Test6 Test 6
7 Test7 Test 7
8 Test8 Test 8
9 Test9 Test 9
10 Test10 Test 10
11 Test11 Test 11
12 Test12 Test 12
13 Test13 Test 13
14 Test14 Test 14
**UNIT_Hier Table**
PARENT_UNIT_ID CHILD_UNIT_ID
1 2
1 3
1 4
2 5
2 6
5 7
5 8
3 9
7 10
3 11
3 12
4 13
5 14
今私は、応答JSONをフレームに必要unit_hier表のとおり。以下は
は、予想される応答のJSONです:
{
"UNIT_ID": 1,
"UNIT_NAME": "Test1",
"DESC": "Test 1",
"childUnit":[
{"UNIT_ID": 2,
"UNIT_NAME": "Test2",
"DESC": "Test 2",
"childUnit":[
{"UNIT_ID": 5,
"UNIT_NAME": "Test5",
"DESC": "Test 5",
"childUnit":[
{"UNIT_ID": 7,
"UNIT_NAME": "Test7",
"DESC": "Test 7",
"childUnit":[
{"UNIT_ID": 10,
"UNIT_NAME": "Test10",
"DESC": "Test 10",
"childUnit":[]
}
]},
{
"UNIT_ID": 8,
"UNIT_NAME": "Test8",
"DESC": "Test 8",
"childUnit":[]
},
{
"UNIT_ID": 14,
"UNIT_NAME": "Test14",
"DESC": "Test 14",
"childUnit":[]
}
{
"UNIT_ID": 6,
"UNIT_NAME": "Test6",
"DESC": "Test 6",
"childUnit":[]
}
],
{
"UNIT_ID": 3,
"UNIT_NAME": "Test3",
"DESC": "Test 3",
"childUnit":[
{"UNIT_ID": 9,
"UNIT_NAME": "Test9",
"DESC": "Test 9",
"childUnit":[]
},
{
"UNIT_ID": 11,
"UNIT_NAME": "Test11",
"DESC": "Test 11"
"childUnit":[]
},
{
"UNIT_ID": 12,
"UNIT_NAME": "Test12",
"DESC": "Test 12",
"childUnit":[]
}
],
{
"UNIT_ID": 4,
"UNIT_NAME": "Test4",
"DESC": "Test 4",
"childUnit":[
{"UNIT_ID": 13,
"UNIT_NAME": "Test13",
"DESC": "Test 13",
"childUnit":[]
}
]
}
}
}
問題は、私は単にデータを解析してみましたです。私は解析のレベルが1つしかないのですが、子が存在しない最後の要素まですべての子を取得する必要があります。
分かっている限り、SQLは階層的なクエリをサポートしていないので、(標準的な)JPAもどちらもサポートしていません。データベースには、Oracleの「START WITH ... CONNECT BY」のような独自の拡張機能がありますが、ネイティブクエリとして実行して結果を処理する必要があります。代わりに、クエリは再帰的に実行されますが、これは遅いですが、データセットが十分に小さく、頻繁にクエリを実行していない場合は許容される可能性があります。 –
あなたのクラスはどこですか?何を試しましたか? – DN1